// ignore_for_file: type=lint

import 'package:json_annotation/json_annotation.dart';
import 'package:collection/collection.dart';
import 'dart:convert';

import 'example.enums.swagger.dart' as enums;

part 'example.models.swagger.g.dart';

@JsonSerializable(explicitToJson: true)
class User {
  const User({
    required this.username,
    required this.role,
    required this.createdAt,
    required this.updatedAt,
  });

  factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);

  static const toJsonFactory = _$UserToJson;
  Map<String, dynamic> toJson() => _$UserToJson(this);

  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String username;
  @JsonKey(name: 'role', includeIfNull: false, defaultValue: '')
  final String role;
  @JsonKey(name: 'createdAt', includeIfNull: false)
  final DateTime createdAt;
  @JsonKey(name: 'updatedAt', includeIfNull: false)
  final DateTime updatedAt;
  static const fromJsonFactory = _$UserFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is User &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.role, role) ||
                const DeepCollectionEquality().equals(other.role, role)) &&
            (identical(other.createdAt, createdAt) ||
                const DeepCollectionEquality().equals(
                  other.createdAt,
                  createdAt,
                )) &&
            (identical(other.updatedAt, updatedAt) ||
                const DeepCollectionEquality().equals(
                  other.updatedAt,
                  updatedAt,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(role) ^
      const DeepCollectionEquality().hash(createdAt) ^
      const DeepCollectionEquality().hash(updatedAt) ^
      runtimeType.hashCode;
}

extension $UserExtension on User {
  User copyWith({
    String? username,
    String? role,
    DateTime? createdAt,
    DateTime? updatedAt,
  }) {
    return User(
      username: username ?? this.username,
      role: role ?? this.role,
      createdAt: createdAt ?? this.createdAt,
      updatedAt: updatedAt ?? this.updatedAt,
    );
  }

  User copyWithWrapped({
    Wrapped<String>? username,
    Wrapped<String>? role,
    Wrapped<DateTime>? createdAt,
    Wrapped<DateTime>? updatedAt,
  }) {
    return User(
      username: (username != null ? username.value : this.username),
      role: (role != null ? role.value : this.role),
      createdAt: (createdAt != null ? createdAt.value : this.createdAt),
      updatedAt: (updatedAt != null ? updatedAt.value : this.updatedAt),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateUserDto {
  const CreateUserDto({required this.username, required this.password});

  factory CreateUserDto.fromJson(Map<String, dynamic> json) =>
      _$CreateUserDtoFromJson(json);

  static const toJsonFactory = _$CreateUserDtoToJson;
  Map<String, dynamic> toJson() => _$CreateUserDtoToJson(this);

  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String username;
  @JsonKey(name: 'password', includeIfNull: false, defaultValue: '')
  final String password;
  static const fromJsonFactory = _$CreateUserDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateUserDto &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.password, password) ||
                const DeepCollectionEquality().equals(
                  other.password,
                  password,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(password) ^
      runtimeType.hashCode;
}

extension $CreateUserDtoExtension on CreateUserDto {
  CreateUserDto copyWith({String? username, String? password}) {
    return CreateUserDto(
      username: username ?? this.username,
      password: password ?? this.password,
    );
  }

  CreateUserDto copyWithWrapped({
    Wrapped<String>? username,
    Wrapped<String>? password,
  }) {
    return CreateUserDto(
      username: (username != null ? username.value : this.username),
      password: (password != null ? password.value : this.password),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class LoginDto {
  const LoginDto({required this.username, required this.password});

  factory LoginDto.fromJson(Map<String, dynamic> json) =>
      _$LoginDtoFromJson(json);

  static const toJsonFactory = _$LoginDtoToJson;
  Map<String, dynamic> toJson() => _$LoginDtoToJson(this);

  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String username;
  @JsonKey(name: 'password', includeIfNull: false, defaultValue: '')
  final String password;
  static const fromJsonFactory = _$LoginDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is LoginDto &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.password, password) ||
                const DeepCollectionEquality().equals(
                  other.password,
                  password,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(password) ^
      runtimeType.hashCode;
}

extension $LoginDtoExtension on LoginDto {
  LoginDto copyWith({String? username, String? password}) {
    return LoginDto(
      username: username ?? this.username,
      password: password ?? this.password,
    );
  }

  LoginDto copyWithWrapped({
    Wrapped<String>? username,
    Wrapped<String>? password,
  }) {
    return LoginDto(
      username: (username != null ? username.value : this.username),
      password: (password != null ? password.value : this.password),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateUserDto {
  const UpdateUserDto({this.username, this.password});

  factory UpdateUserDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateUserDtoFromJson(json);

  static const toJsonFactory = _$UpdateUserDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateUserDtoToJson(this);

  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String? username;
  @JsonKey(name: 'password', includeIfNull: false, defaultValue: '')
  final String? password;
  static const fromJsonFactory = _$UpdateUserDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is UpdateUserDto &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.password, password) ||
                const DeepCollectionEquality().equals(
                  other.password,
                  password,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(password) ^
      runtimeType.hashCode;
}

extension $UpdateUserDtoExtension on UpdateUserDto {
  UpdateUserDto copyWith({String? username, String? password}) {
    return UpdateUserDto(
      username: username ?? this.username,
      password: password ?? this.password,
    );
  }

  UpdateUserDto copyWithWrapped({
    Wrapped<String?>? username,
    Wrapped<String?>? password,
  }) {
    return UpdateUserDto(
      username: (username != null ? username.value : this.username),
      password: (password != null ? password.value : this.password),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateTestDto {
  const CreateTestDto();

  factory CreateTestDto.fromJson(Map<String, dynamic> json) =>
      _$CreateTestDtoFromJson(json);

  static const toJsonFactory = _$CreateTestDtoToJson;
  Map<String, dynamic> toJson() => _$CreateTestDtoToJson(this);

  static const fromJsonFactory = _$CreateTestDtoFromJson;

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode => runtimeType.hashCode;
}

@JsonSerializable(explicitToJson: true)
class ImageUrl {
  const ImageUrl({required this.url});

  factory ImageUrl.fromJson(Map<String, dynamic> json) =>
      _$ImageUrlFromJson(json);

  static const toJsonFactory = _$ImageUrlToJson;
  Map<String, dynamic> toJson() => _$ImageUrlToJson(this);

  @JsonKey(name: 'url', includeIfNull: false, defaultValue: '')
  final String url;
  static const fromJsonFactory = _$ImageUrlFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is ImageUrl &&
            (identical(other.url, url) ||
                const DeepCollectionEquality().equals(other.url, url)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(url) ^ runtimeType.hashCode;
}

extension $ImageUrlExtension on ImageUrl {
  ImageUrl copyWith({String? url}) {
    return ImageUrl(url: url ?? this.url);
  }

  ImageUrl copyWithWrapped({Wrapped<String>? url}) {
    return ImageUrl(url: (url != null ? url.value : this.url));
  }
}

@JsonSerializable(explicitToJson: true)
class MessageContentItem {
  const MessageContentItem({required this.type, this.text, this.imageUrl});

  factory MessageContentItem.fromJson(Map<String, dynamic> json) =>
      _$MessageContentItemFromJson(json);

  static const toJsonFactory = _$MessageContentItemToJson;
  Map<String, dynamic> toJson() => _$MessageContentItemToJson(this);

  @JsonKey(
    name: 'type',
    includeIfNull: false,
    toJson: messageContentItemTypeToJson,
    fromJson: messageContentItemTypeFromJson,
  )
  final enums.MessageContentItemType type;
  @JsonKey(name: 'text', includeIfNull: false, defaultValue: '')
  final String? text;
  @JsonKey(name: 'image_url', includeIfNull: false)
  final ImageUrl? imageUrl;
  static const fromJsonFactory = _$MessageContentItemFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is MessageContentItem &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.text, text) ||
                const DeepCollectionEquality().equals(other.text, text)) &&
            (identical(other.imageUrl, imageUrl) ||
                const DeepCollectionEquality().equals(
                  other.imageUrl,
                  imageUrl,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(text) ^
      const DeepCollectionEquality().hash(imageUrl) ^
      runtimeType.hashCode;
}

extension $MessageContentItemExtension on MessageContentItem {
  MessageContentItem copyWith({
    enums.MessageContentItemType? type,
    String? text,
    ImageUrl? imageUrl,
  }) {
    return MessageContentItem(
      type: type ?? this.type,
      text: text ?? this.text,
      imageUrl: imageUrl ?? this.imageUrl,
    );
  }

  MessageContentItem copyWithWrapped({
    Wrapped<enums.MessageContentItemType>? type,
    Wrapped<String?>? text,
    Wrapped<ImageUrl?>? imageUrl,
  }) {
    return MessageContentItem(
      type: (type != null ? type.value : this.type),
      text: (text != null ? text.value : this.text),
      imageUrl: (imageUrl != null ? imageUrl.value : this.imageUrl),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class SendMessageDto {
  const SendMessageDto({required this.content, required this.role});

  factory SendMessageDto.fromJson(Map<String, dynamic> json) =>
      _$SendMessageDtoFromJson(json);

  static const toJsonFactory = _$SendMessageDtoToJson;
  Map<String, dynamic> toJson() => _$SendMessageDtoToJson(this);

  @JsonKey(
    name: 'content',
    includeIfNull: false,
    defaultValue: <MessageContentItem>[],
  )
  final List<MessageContentItem> content;
  @JsonKey(
    name: 'role',
    includeIfNull: false,
    toJson: sendMessageDtoRoleToJson,
    fromJson: sendMessageDtoRoleFromJson,
  )
  final enums.SendMessageDtoRole role;
  static const fromJsonFactory = _$SendMessageDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is SendMessageDto &&
            (identical(other.content, content) ||
                const DeepCollectionEquality().equals(
                  other.content,
                  content,
                )) &&
            (identical(other.role, role) ||
                const DeepCollectionEquality().equals(other.role, role)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(content) ^
      const DeepCollectionEquality().hash(role) ^
      runtimeType.hashCode;
}

extension $SendMessageDtoExtension on SendMessageDto {
  SendMessageDto copyWith({
    List<MessageContentItem>? content,
    enums.SendMessageDtoRole? role,
  }) {
    return SendMessageDto(
      content: content ?? this.content,
      role: role ?? this.role,
    );
  }

  SendMessageDto copyWithWrapped({
    Wrapped<List<MessageContentItem>>? content,
    Wrapped<enums.SendMessageDtoRole>? role,
  }) {
    return SendMessageDto(
      content: (content != null ? content.value : this.content),
      role: (role != null ? role.value : this.role),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateChatDto {
  const CreateChatDto({required this.message});

  factory CreateChatDto.fromJson(Map<String, dynamic> json) =>
      _$CreateChatDtoFromJson(json);

  static const toJsonFactory = _$CreateChatDtoToJson;
  Map<String, dynamic> toJson() => _$CreateChatDtoToJson(this);

  @JsonKey(name: 'message', includeIfNull: false)
  final SendMessageDto message;
  static const fromJsonFactory = _$CreateChatDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateChatDto &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(message) ^ runtimeType.hashCode;
}

extension $CreateChatDtoExtension on CreateChatDto {
  CreateChatDto copyWith({SendMessageDto? message}) {
    return CreateChatDto(message: message ?? this.message);
  }

  CreateChatDto copyWithWrapped({Wrapped<SendMessageDto>? message}) {
    return CreateChatDto(
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateLedgerDto {
  const CreateLedgerDto({
    required this.type,
    required this.amount,
    this.category,
    this.date,
    this.note,
    this.attachment,
  });

  factory CreateLedgerDto.fromJson(Map<String, dynamic> json) =>
      _$CreateLedgerDtoFromJson(json);

  static const toJsonFactory = _$CreateLedgerDtoToJson;
  Map<String, dynamic> toJson() => _$CreateLedgerDtoToJson(this);

  @JsonKey(
    name: 'type',
    includeIfNull: false,
    toJson: createLedgerDtoTypeToJson,
    fromJson: createLedgerDtoTypeFromJson,
  )
  final enums.CreateLedgerDtoType type;
  @JsonKey(name: 'amount', includeIfNull: false)
  final double amount;
  @JsonKey(name: 'category', includeIfNull: false, defaultValue: '')
  final String? category;
  @JsonKey(name: 'date', includeIfNull: false, defaultValue: '')
  final String? date;
  @JsonKey(name: 'note', includeIfNull: false, defaultValue: '')
  final String? note;
  @JsonKey(name: 'attachment', includeIfNull: false, defaultValue: <String>[])
  final List<String>? attachment;
  static const fromJsonFactory = _$CreateLedgerDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateLedgerDto &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.amount, amount) ||
                const DeepCollectionEquality().equals(other.amount, amount)) &&
            (identical(other.category, category) ||
                const DeepCollectionEquality().equals(
                  other.category,
                  category,
                )) &&
            (identical(other.date, date) ||
                const DeepCollectionEquality().equals(other.date, date)) &&
            (identical(other.note, note) ||
                const DeepCollectionEquality().equals(other.note, note)) &&
            (identical(other.attachment, attachment) ||
                const DeepCollectionEquality().equals(
                  other.attachment,
                  attachment,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(amount) ^
      const DeepCollectionEquality().hash(category) ^
      const DeepCollectionEquality().hash(date) ^
      const DeepCollectionEquality().hash(note) ^
      const DeepCollectionEquality().hash(attachment) ^
      runtimeType.hashCode;
}

extension $CreateLedgerDtoExtension on CreateLedgerDto {
  CreateLedgerDto copyWith({
    enums.CreateLedgerDtoType? type,
    double? amount,
    String? category,
    String? date,
    String? note,
    List<String>? attachment,
  }) {
    return CreateLedgerDto(
      type: type ?? this.type,
      amount: amount ?? this.amount,
      category: category ?? this.category,
      date: date ?? this.date,
      note: note ?? this.note,
      attachment: attachment ?? this.attachment,
    );
  }

  CreateLedgerDto copyWithWrapped({
    Wrapped<enums.CreateLedgerDtoType>? type,
    Wrapped<double>? amount,
    Wrapped<String?>? category,
    Wrapped<String?>? date,
    Wrapped<String?>? note,
    Wrapped<List<String>?>? attachment,
  }) {
    return CreateLedgerDto(
      type: (type != null ? type.value : this.type),
      amount: (amount != null ? amount.value : this.amount),
      category: (category != null ? category.value : this.category),
      date: (date != null ? date.value : this.date),
      note: (note != null ? note.value : this.note),
      attachment: (attachment != null ? attachment.value : this.attachment),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class ObjectId {
  const ObjectId();

  factory ObjectId.fromJson(Map<String, dynamic> json) =>
      _$ObjectIdFromJson(json);

  static const toJsonFactory = _$ObjectIdToJson;
  Map<String, dynamic> toJson() => _$ObjectIdToJson(this);

  static const fromJsonFactory = _$ObjectIdFromJson;

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode => runtimeType.hashCode;
}

@JsonSerializable(explicitToJson: true)
class Ledger {
  const Ledger({
    required this.user,
    required this.type,
    required this.amount,
    required this.category,
    required this.date,
    required this.note,
    required this.attachment,
    required this.aiComment,
  });

  factory Ledger.fromJson(Map<String, dynamic> json) => _$LedgerFromJson(json);

  static const toJsonFactory = _$LedgerToJson;
  Map<String, dynamic> toJson() => _$LedgerToJson(this);

  @JsonKey(name: 'user', includeIfNull: false)
  final ObjectId user;
  @JsonKey(name: 'type', includeIfNull: false, defaultValue: '')
  final String type;
  @JsonKey(name: 'amount', includeIfNull: false)
  final double amount;
  @JsonKey(name: 'category', includeIfNull: false, defaultValue: '')
  final String category;
  @JsonKey(name: 'date', includeIfNull: false)
  final DateTime date;
  @JsonKey(name: 'note', includeIfNull: false, defaultValue: '')
  final String note;
  @JsonKey(name: 'attachment', includeIfNull: false, defaultValue: <String>[])
  final List<String> attachment;
  @JsonKey(name: 'aiComment', includeIfNull: false, defaultValue: '')
  final String aiComment;
  static const fromJsonFactory = _$LedgerFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is Ledger &&
            (identical(other.user, user) ||
                const DeepCollectionEquality().equals(other.user, user)) &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.amount, amount) ||
                const DeepCollectionEquality().equals(other.amount, amount)) &&
            (identical(other.category, category) ||
                const DeepCollectionEquality().equals(
                  other.category,
                  category,
                )) &&
            (identical(other.date, date) ||
                const DeepCollectionEquality().equals(other.date, date)) &&
            (identical(other.note, note) ||
                const DeepCollectionEquality().equals(other.note, note)) &&
            (identical(other.attachment, attachment) ||
                const DeepCollectionEquality().equals(
                  other.attachment,
                  attachment,
                )) &&
            (identical(other.aiComment, aiComment) ||
                const DeepCollectionEquality().equals(
                  other.aiComment,
                  aiComment,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(user) ^
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(amount) ^
      const DeepCollectionEquality().hash(category) ^
      const DeepCollectionEquality().hash(date) ^
      const DeepCollectionEquality().hash(note) ^
      const DeepCollectionEquality().hash(attachment) ^
      const DeepCollectionEquality().hash(aiComment) ^
      runtimeType.hashCode;
}

extension $LedgerExtension on Ledger {
  Ledger copyWith({
    ObjectId? user,
    String? type,
    double? amount,
    String? category,
    DateTime? date,
    String? note,
    List<String>? attachment,
    String? aiComment,
  }) {
    return Ledger(
      user: user ?? this.user,
      type: type ?? this.type,
      amount: amount ?? this.amount,
      category: category ?? this.category,
      date: date ?? this.date,
      note: note ?? this.note,
      attachment: attachment ?? this.attachment,
      aiComment: aiComment ?? this.aiComment,
    );
  }

  Ledger copyWithWrapped({
    Wrapped<ObjectId>? user,
    Wrapped<String>? type,
    Wrapped<double>? amount,
    Wrapped<String>? category,
    Wrapped<DateTime>? date,
    Wrapped<String>? note,
    Wrapped<List<String>>? attachment,
    Wrapped<String>? aiComment,
  }) {
    return Ledger(
      user: (user != null ? user.value : this.user),
      type: (type != null ? type.value : this.type),
      amount: (amount != null ? amount.value : this.amount),
      category: (category != null ? category.value : this.category),
      date: (date != null ? date.value : this.date),
      note: (note != null ? note.value : this.note),
      attachment: (attachment != null ? attachment.value : this.attachment),
      aiComment: (aiComment != null ? aiComment.value : this.aiComment),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateLedgerDto {
  const UpdateLedgerDto();

  factory UpdateLedgerDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateLedgerDtoFromJson(json);

  static const toJsonFactory = _$UpdateLedgerDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateLedgerDtoToJson(this);

  static const fromJsonFactory = _$UpdateLedgerDtoFromJson;

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode => runtimeType.hashCode;
}

@JsonSerializable(explicitToJson: true)
class LedgerAiCommentDto {
  const LedgerAiCommentDto({required this.ids});

  factory LedgerAiCommentDto.fromJson(Map<String, dynamic> json) =>
      _$LedgerAiCommentDtoFromJson(json);

  static const toJsonFactory = _$LedgerAiCommentDtoToJson;
  Map<String, dynamic> toJson() => _$LedgerAiCommentDtoToJson(this);

  @JsonKey(name: 'ids', includeIfNull: false, defaultValue: <String>[])
  final List<String> ids;
  static const fromJsonFactory = _$LedgerAiCommentDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is LedgerAiCommentDto &&
            (identical(other.ids, ids) ||
                const DeepCollectionEquality().equals(other.ids, ids)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(ids) ^ runtimeType.hashCode;
}

extension $LedgerAiCommentDtoExtension on LedgerAiCommentDto {
  LedgerAiCommentDto copyWith({List<String>? ids}) {
    return LedgerAiCommentDto(ids: ids ?? this.ids);
  }

  LedgerAiCommentDto copyWithWrapped({Wrapped<List<String>>? ids}) {
    return LedgerAiCommentDto(ids: (ids != null ? ids.value : this.ids));
  }
}

@JsonSerializable(explicitToJson: true)
class CreateTodoDto {
  const CreateTodoDto({
    required this.title,
    required this.content,
    required this.completed,
    this.attachment,
  });

  factory CreateTodoDto.fromJson(Map<String, dynamic> json) =>
      _$CreateTodoDtoFromJson(json);

  static const toJsonFactory = _$CreateTodoDtoToJson;
  Map<String, dynamic> toJson() => _$CreateTodoDtoToJson(this);

  @JsonKey(name: 'title', includeIfNull: false, defaultValue: '')
  final String title;
  @JsonKey(name: 'content', includeIfNull: false, defaultValue: '')
  final String content;
  @JsonKey(name: 'completed', includeIfNull: false)
  final bool completed;
  @JsonKey(name: 'attachment', includeIfNull: false, defaultValue: <String>[])
  final List<String>? attachment;
  static const fromJsonFactory = _$CreateTodoDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateTodoDto &&
            (identical(other.title, title) ||
                const DeepCollectionEquality().equals(other.title, title)) &&
            (identical(other.content, content) ||
                const DeepCollectionEquality().equals(
                  other.content,
                  content,
                )) &&
            (identical(other.completed, completed) ||
                const DeepCollectionEquality().equals(
                  other.completed,
                  completed,
                )) &&
            (identical(other.attachment, attachment) ||
                const DeepCollectionEquality().equals(
                  other.attachment,
                  attachment,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(title) ^
      const DeepCollectionEquality().hash(content) ^
      const DeepCollectionEquality().hash(completed) ^
      const DeepCollectionEquality().hash(attachment) ^
      runtimeType.hashCode;
}

extension $CreateTodoDtoExtension on CreateTodoDto {
  CreateTodoDto copyWith({
    String? title,
    String? content,
    bool? completed,
    List<String>? attachment,
  }) {
    return CreateTodoDto(
      title: title ?? this.title,
      content: content ?? this.content,
      completed: completed ?? this.completed,
      attachment: attachment ?? this.attachment,
    );
  }

  CreateTodoDto copyWithWrapped({
    Wrapped<String>? title,
    Wrapped<String>? content,
    Wrapped<bool>? completed,
    Wrapped<List<String>?>? attachment,
  }) {
    return CreateTodoDto(
      title: (title != null ? title.value : this.title),
      content: (content != null ? content.value : this.content),
      completed: (completed != null ? completed.value : this.completed),
      attachment: (attachment != null ? attachment.value : this.attachment),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class Todo {
  const Todo({
    required this.user,
    required this.title,
    required this.content,
    required this.completed,
    required this.attachment,
    required this.aiComment,
  });

  factory Todo.fromJson(Map<String, dynamic> json) => _$TodoFromJson(json);

  static const toJsonFactory = _$TodoToJson;
  Map<String, dynamic> toJson() => _$TodoToJson(this);

  @JsonKey(name: 'user', includeIfNull: false)
  final ObjectId user;
  @JsonKey(name: 'title', includeIfNull: false, defaultValue: '')
  final String title;
  @JsonKey(name: 'content', includeIfNull: false, defaultValue: '')
  final String content;
  @JsonKey(name: 'completed', includeIfNull: false)
  final bool completed;
  @JsonKey(name: 'attachment', includeIfNull: false, defaultValue: <String>[])
  final List<String> attachment;
  @JsonKey(name: 'aiComment', includeIfNull: false, defaultValue: '')
  final String aiComment;
  static const fromJsonFactory = _$TodoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is Todo &&
            (identical(other.user, user) ||
                const DeepCollectionEquality().equals(other.user, user)) &&
            (identical(other.title, title) ||
                const DeepCollectionEquality().equals(other.title, title)) &&
            (identical(other.content, content) ||
                const DeepCollectionEquality().equals(
                  other.content,
                  content,
                )) &&
            (identical(other.completed, completed) ||
                const DeepCollectionEquality().equals(
                  other.completed,
                  completed,
                )) &&
            (identical(other.attachment, attachment) ||
                const DeepCollectionEquality().equals(
                  other.attachment,
                  attachment,
                )) &&
            (identical(other.aiComment, aiComment) ||
                const DeepCollectionEquality().equals(
                  other.aiComment,
                  aiComment,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(user) ^
      const DeepCollectionEquality().hash(title) ^
      const DeepCollectionEquality().hash(content) ^
      const DeepCollectionEquality().hash(completed) ^
      const DeepCollectionEquality().hash(attachment) ^
      const DeepCollectionEquality().hash(aiComment) ^
      runtimeType.hashCode;
}

extension $TodoExtension on Todo {
  Todo copyWith({
    ObjectId? user,
    String? title,
    String? content,
    bool? completed,
    List<String>? attachment,
    String? aiComment,
  }) {
    return Todo(
      user: user ?? this.user,
      title: title ?? this.title,
      content: content ?? this.content,
      completed: completed ?? this.completed,
      attachment: attachment ?? this.attachment,
      aiComment: aiComment ?? this.aiComment,
    );
  }

  Todo copyWithWrapped({
    Wrapped<ObjectId>? user,
    Wrapped<String>? title,
    Wrapped<String>? content,
    Wrapped<bool>? completed,
    Wrapped<List<String>>? attachment,
    Wrapped<String>? aiComment,
  }) {
    return Todo(
      user: (user != null ? user.value : this.user),
      title: (title != null ? title.value : this.title),
      content: (content != null ? content.value : this.content),
      completed: (completed != null ? completed.value : this.completed),
      attachment: (attachment != null ? attachment.value : this.attachment),
      aiComment: (aiComment != null ? aiComment.value : this.aiComment),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateTodoDto {
  const UpdateTodoDto();

  factory UpdateTodoDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateTodoDtoFromJson(json);

  static const toJsonFactory = _$UpdateTodoDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateTodoDtoToJson(this);

  static const fromJsonFactory = _$UpdateTodoDtoFromJson;

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode => runtimeType.hashCode;
}

@JsonSerializable(explicitToJson: true)
class TodoAiCommentDto {
  const TodoAiCommentDto({required this.ids});

  factory TodoAiCommentDto.fromJson(Map<String, dynamic> json) =>
      _$TodoAiCommentDtoFromJson(json);

  static const toJsonFactory = _$TodoAiCommentDtoToJson;
  Map<String, dynamic> toJson() => _$TodoAiCommentDtoToJson(this);

  @JsonKey(name: 'ids', includeIfNull: false, defaultValue: <String>[])
  final List<String> ids;
  static const fromJsonFactory = _$TodoAiCommentDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is TodoAiCommentDto &&
            (identical(other.ids, ids) ||
                const DeepCollectionEquality().equals(other.ids, ids)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(ids) ^ runtimeType.hashCode;
}

extension $TodoAiCommentDtoExtension on TodoAiCommentDto {
  TodoAiCommentDto copyWith({List<String>? ids}) {
    return TodoAiCommentDto(ids: ids ?? this.ids);
  }

  TodoAiCommentDto copyWithWrapped({Wrapped<List<String>>? ids}) {
    return TodoAiCommentDto(ids: (ids != null ? ids.value : this.ids));
  }
}

@JsonSerializable(explicitToJson: true)
class CreateJournalDto {
  const CreateJournalDto({this.title, required this.content, this.attachment});

  factory CreateJournalDto.fromJson(Map<String, dynamic> json) =>
      _$CreateJournalDtoFromJson(json);

  static const toJsonFactory = _$CreateJournalDtoToJson;
  Map<String, dynamic> toJson() => _$CreateJournalDtoToJson(this);

  @JsonKey(name: 'title', includeIfNull: false, defaultValue: '')
  final String? title;
  @JsonKey(name: 'content', includeIfNull: false, defaultValue: '')
  final String content;
  @JsonKey(name: 'attachment', includeIfNull: false, defaultValue: <String>[])
  final List<String>? attachment;
  static const fromJsonFactory = _$CreateJournalDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateJournalDto &&
            (identical(other.title, title) ||
                const DeepCollectionEquality().equals(other.title, title)) &&
            (identical(other.content, content) ||
                const DeepCollectionEquality().equals(
                  other.content,
                  content,
                )) &&
            (identical(other.attachment, attachment) ||
                const DeepCollectionEquality().equals(
                  other.attachment,
                  attachment,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(title) ^
      const DeepCollectionEquality().hash(content) ^
      const DeepCollectionEquality().hash(attachment) ^
      runtimeType.hashCode;
}

extension $CreateJournalDtoExtension on CreateJournalDto {
  CreateJournalDto copyWith({
    String? title,
    String? content,
    List<String>? attachment,
  }) {
    return CreateJournalDto(
      title: title ?? this.title,
      content: content ?? this.content,
      attachment: attachment ?? this.attachment,
    );
  }

  CreateJournalDto copyWithWrapped({
    Wrapped<String?>? title,
    Wrapped<String>? content,
    Wrapped<List<String>?>? attachment,
  }) {
    return CreateJournalDto(
      title: (title != null ? title.value : this.title),
      content: (content != null ? content.value : this.content),
      attachment: (attachment != null ? attachment.value : this.attachment),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class Journal {
  const Journal({
    required this.user,
    required this.title,
    required this.content,
    required this.attachment,
    required this.aiComment,
  });

  factory Journal.fromJson(Map<String, dynamic> json) =>
      _$JournalFromJson(json);

  static const toJsonFactory = _$JournalToJson;
  Map<String, dynamic> toJson() => _$JournalToJson(this);

  @JsonKey(name: 'user', includeIfNull: false)
  final ObjectId user;
  @JsonKey(name: 'title', includeIfNull: false, defaultValue: '')
  final String title;
  @JsonKey(name: 'content', includeIfNull: false, defaultValue: '')
  final String content;
  @JsonKey(name: 'attachment', includeIfNull: false, defaultValue: <String>[])
  final List<String> attachment;
  @JsonKey(name: 'aiComment', includeIfNull: false, defaultValue: '')
  final String aiComment;
  static const fromJsonFactory = _$JournalFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is Journal &&
            (identical(other.user, user) ||
                const DeepCollectionEquality().equals(other.user, user)) &&
            (identical(other.title, title) ||
                const DeepCollectionEquality().equals(other.title, title)) &&
            (identical(other.content, content) ||
                const DeepCollectionEquality().equals(
                  other.content,
                  content,
                )) &&
            (identical(other.attachment, attachment) ||
                const DeepCollectionEquality().equals(
                  other.attachment,
                  attachment,
                )) &&
            (identical(other.aiComment, aiComment) ||
                const DeepCollectionEquality().equals(
                  other.aiComment,
                  aiComment,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(user) ^
      const DeepCollectionEquality().hash(title) ^
      const DeepCollectionEquality().hash(content) ^
      const DeepCollectionEquality().hash(attachment) ^
      const DeepCollectionEquality().hash(aiComment) ^
      runtimeType.hashCode;
}

extension $JournalExtension on Journal {
  Journal copyWith({
    ObjectId? user,
    String? title,
    String? content,
    List<String>? attachment,
    String? aiComment,
  }) {
    return Journal(
      user: user ?? this.user,
      title: title ?? this.title,
      content: content ?? this.content,
      attachment: attachment ?? this.attachment,
      aiComment: aiComment ?? this.aiComment,
    );
  }

  Journal copyWithWrapped({
    Wrapped<ObjectId>? user,
    Wrapped<String>? title,
    Wrapped<String>? content,
    Wrapped<List<String>>? attachment,
    Wrapped<String>? aiComment,
  }) {
    return Journal(
      user: (user != null ? user.value : this.user),
      title: (title != null ? title.value : this.title),
      content: (content != null ? content.value : this.content),
      attachment: (attachment != null ? attachment.value : this.attachment),
      aiComment: (aiComment != null ? aiComment.value : this.aiComment),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateJournalDto {
  const UpdateJournalDto();

  factory UpdateJournalDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateJournalDtoFromJson(json);

  static const toJsonFactory = _$UpdateJournalDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateJournalDtoToJson(this);

  static const fromJsonFactory = _$UpdateJournalDtoFromJson;

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode => runtimeType.hashCode;
}

@JsonSerializable(explicitToJson: true)
class UserInfo {
  const UserInfo({
    required this.id,
    required this.nickname,
    required this.menus,
    required this.permissions,
  });

  factory UserInfo.fromJson(Map<String, dynamic> json) =>
      _$UserInfoFromJson(json);

  static const toJsonFactory = _$UserInfoToJson;
  Map<String, dynamic> toJson() => _$UserInfoToJson(this);

  @JsonKey(name: 'id', includeIfNull: false, defaultValue: '')
  final String id;
  @JsonKey(name: 'nickname', includeIfNull: false, defaultValue: '')
  final String nickname;
  @JsonKey(name: 'menus', includeIfNull: false, defaultValue: <String>[])
  final List<String> menus;
  @JsonKey(name: 'permissions', includeIfNull: false, defaultValue: <String>[])
  final List<String> permissions;
  static const fromJsonFactory = _$UserInfoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is UserInfo &&
            (identical(other.id, id) ||
                const DeepCollectionEquality().equals(other.id, id)) &&
            (identical(other.nickname, nickname) ||
                const DeepCollectionEquality().equals(
                  other.nickname,
                  nickname,
                )) &&
            (identical(other.menus, menus) ||
                const DeepCollectionEquality().equals(other.menus, menus)) &&
            (identical(other.permissions, permissions) ||
                const DeepCollectionEquality().equals(
                  other.permissions,
                  permissions,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(id) ^
      const DeepCollectionEquality().hash(nickname) ^
      const DeepCollectionEquality().hash(menus) ^
      const DeepCollectionEquality().hash(permissions) ^
      runtimeType.hashCode;
}

extension $UserInfoExtension on UserInfo {
  UserInfo copyWith({
    String? id,
    String? nickname,
    List<String>? menus,
    List<String>? permissions,
  }) {
    return UserInfo(
      id: id ?? this.id,
      nickname: nickname ?? this.nickname,
      menus: menus ?? this.menus,
      permissions: permissions ?? this.permissions,
    );
  }

  UserInfo copyWithWrapped({
    Wrapped<String>? id,
    Wrapped<String>? nickname,
    Wrapped<List<String>>? menus,
    Wrapped<List<String>>? permissions,
  }) {
    return UserInfo(
      id: (id != null ? id.value : this.id),
      nickname: (nickname != null ? nickname.value : this.nickname),
      menus: (menus != null ? menus.value : this.menus),
      permissions: (permissions != null ? permissions.value : this.permissions),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class LoginAdminUserResDto {
  const LoginAdminUserResDto({required this.accessToken, required this.user});

  factory LoginAdminUserResDto.fromJson(Map<String, dynamic> json) =>
      _$LoginAdminUserResDtoFromJson(json);

  static const toJsonFactory = _$LoginAdminUserResDtoToJson;
  Map<String, dynamic> toJson() => _$LoginAdminUserResDtoToJson(this);

  @JsonKey(name: 'access_token', includeIfNull: false, defaultValue: '')
  final String accessToken;
  @JsonKey(name: 'user', includeIfNull: false)
  final UserInfo user;
  static const fromJsonFactory = _$LoginAdminUserResDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is LoginAdminUserResDto &&
            (identical(other.accessToken, accessToken) ||
                const DeepCollectionEquality().equals(
                  other.accessToken,
                  accessToken,
                )) &&
            (identical(other.user, user) ||
                const DeepCollectionEquality().equals(other.user, user)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(accessToken) ^
      const DeepCollectionEquality().hash(user) ^
      runtimeType.hashCode;
}

extension $LoginAdminUserResDtoExtension on LoginAdminUserResDto {
  LoginAdminUserResDto copyWith({String? accessToken, UserInfo? user}) {
    return LoginAdminUserResDto(
      accessToken: accessToken ?? this.accessToken,
      user: user ?? this.user,
    );
  }

  LoginAdminUserResDto copyWithWrapped({
    Wrapped<String>? accessToken,
    Wrapped<UserInfo>? user,
  }) {
    return LoginAdminUserResDto(
      accessToken: (accessToken != null ? accessToken.value : this.accessToken),
      user: (user != null ? user.value : this.user),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class LoginAdminUserDto {
  const LoginAdminUserDto({required this.username, required this.password});

  factory LoginAdminUserDto.fromJson(Map<String, dynamic> json) =>
      _$LoginAdminUserDtoFromJson(json);

  static const toJsonFactory = _$LoginAdminUserDtoToJson;
  Map<String, dynamic> toJson() => _$LoginAdminUserDtoToJson(this);

  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String username;
  @JsonKey(name: 'password', includeIfNull: false, defaultValue: '')
  final String password;
  static const fromJsonFactory = _$LoginAdminUserDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is LoginAdminUserDto &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.password, password) ||
                const DeepCollectionEquality().equals(
                  other.password,
                  password,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(password) ^
      runtimeType.hashCode;
}

extension $LoginAdminUserDtoExtension on LoginAdminUserDto {
  LoginAdminUserDto copyWith({String? username, String? password}) {
    return LoginAdminUserDto(
      username: username ?? this.username,
      password: password ?? this.password,
    );
  }

  LoginAdminUserDto copyWithWrapped({
    Wrapped<String>? username,
    Wrapped<String>? password,
  }) {
    return LoginAdminUserDto(
      username: (username != null ? username.value : this.username),
      password: (password != null ? password.value : this.password),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateAdminUserDto {
  const CreateAdminUserDto({
    required this.nickname,
    required this.username,
    required this.password,
    required this.roles,
    required this.status,
  });

  factory CreateAdminUserDto.fromJson(Map<String, dynamic> json) =>
      _$CreateAdminUserDtoFromJson(json);

  static const toJsonFactory = _$CreateAdminUserDtoToJson;
  Map<String, dynamic> toJson() => _$CreateAdminUserDtoToJson(this);

  @JsonKey(name: 'nickname', includeIfNull: false, defaultValue: '')
  final String nickname;
  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String username;
  @JsonKey(name: 'password', includeIfNull: false, defaultValue: '')
  final String password;
  @JsonKey(name: 'roles', includeIfNull: false, defaultValue: <String>[])
  final List<String> roles;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  static const fromJsonFactory = _$CreateAdminUserDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateAdminUserDto &&
            (identical(other.nickname, nickname) ||
                const DeepCollectionEquality().equals(
                  other.nickname,
                  nickname,
                )) &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.password, password) ||
                const DeepCollectionEquality().equals(
                  other.password,
                  password,
                )) &&
            (identical(other.roles, roles) ||
                const DeepCollectionEquality().equals(other.roles, roles)) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(nickname) ^
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(password) ^
      const DeepCollectionEquality().hash(roles) ^
      const DeepCollectionEquality().hash(status) ^
      runtimeType.hashCode;
}

extension $CreateAdminUserDtoExtension on CreateAdminUserDto {
  CreateAdminUserDto copyWith({
    String? nickname,
    String? username,
    String? password,
    List<String>? roles,
    String? status,
  }) {
    return CreateAdminUserDto(
      nickname: nickname ?? this.nickname,
      username: username ?? this.username,
      password: password ?? this.password,
      roles: roles ?? this.roles,
      status: status ?? this.status,
    );
  }

  CreateAdminUserDto copyWithWrapped({
    Wrapped<String>? nickname,
    Wrapped<String>? username,
    Wrapped<String>? password,
    Wrapped<List<String>>? roles,
    Wrapped<String>? status,
  }) {
    return CreateAdminUserDto(
      nickname: (nickname != null ? nickname.value : this.nickname),
      username: (username != null ? username.value : this.username),
      password: (password != null ? password.value : this.password),
      roles: (roles != null ? roles.value : this.roles),
      status: (status != null ? status.value : this.status),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUserRoleItem {
  const AdminUserRoleItem({
    required this.id,
    required this.name,
    required this.description,
  });

  factory AdminUserRoleItem.fromJson(Map<String, dynamic> json) =>
      _$AdminUserRoleItemFromJson(json);

  static const toJsonFactory = _$AdminUserRoleItemToJson;
  Map<String, dynamic> toJson() => _$AdminUserRoleItemToJson(this);

  @JsonKey(name: 'id', includeIfNull: false, defaultValue: '')
  final String id;
  @JsonKey(name: 'name', includeIfNull: false, defaultValue: '')
  final String name;
  @JsonKey(name: 'description', includeIfNull: false, defaultValue: '')
  final String description;
  static const fromJsonFactory = _$AdminUserRoleItemFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUserRoleItem &&
            (identical(other.id, id) ||
                const DeepCollectionEquality().equals(other.id, id)) &&
            (identical(other.name, name) ||
                const DeepCollectionEquality().equals(other.name, name)) &&
            (identical(other.description, description) ||
                const DeepCollectionEquality().equals(
                  other.description,
                  description,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(id) ^
      const DeepCollectionEquality().hash(name) ^
      const DeepCollectionEquality().hash(description) ^
      runtimeType.hashCode;
}

extension $AdminUserRoleItemExtension on AdminUserRoleItem {
  AdminUserRoleItem copyWith({String? id, String? name, String? description}) {
    return AdminUserRoleItem(
      id: id ?? this.id,
      name: name ?? this.name,
      description: description ?? this.description,
    );
  }

  AdminUserRoleItem copyWithWrapped({
    Wrapped<String>? id,
    Wrapped<String>? name,
    Wrapped<String>? description,
  }) {
    return AdminUserRoleItem(
      id: (id != null ? id.value : this.id),
      name: (name != null ? name.value : this.name),
      description: (description != null ? description.value : this.description),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUserDto {
  const AdminUserDto({
    required this.id,
    required this.nickname,
    required this.username,
    required this.roles,
    required this.status,
    required this.createdAt,
    required this.updatedAt,
  });

  factory AdminUserDto.fromJson(Map<String, dynamic> json) =>
      _$AdminUserDtoFromJson(json);

  static const toJsonFactory = _$AdminUserDtoToJson;
  Map<String, dynamic> toJson() => _$AdminUserDtoToJson(this);

  @JsonKey(name: 'id', includeIfNull: false, defaultValue: '')
  final String id;
  @JsonKey(name: 'nickname', includeIfNull: false, defaultValue: '')
  final String nickname;
  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String username;
  @JsonKey(
    name: 'roles',
    includeIfNull: false,
    defaultValue: <AdminUserRoleItem>[],
  )
  final List<AdminUserRoleItem> roles;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  @JsonKey(name: 'createdAt', includeIfNull: false)
  final DateTime createdAt;
  @JsonKey(name: 'updatedAt', includeIfNull: false)
  final DateTime updatedAt;
  static const fromJsonFactory = _$AdminUserDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUserDto &&
            (identical(other.id, id) ||
                const DeepCollectionEquality().equals(other.id, id)) &&
            (identical(other.nickname, nickname) ||
                const DeepCollectionEquality().equals(
                  other.nickname,
                  nickname,
                )) &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.roles, roles) ||
                const DeepCollectionEquality().equals(other.roles, roles)) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.createdAt, createdAt) ||
                const DeepCollectionEquality().equals(
                  other.createdAt,
                  createdAt,
                )) &&
            (identical(other.updatedAt, updatedAt) ||
                const DeepCollectionEquality().equals(
                  other.updatedAt,
                  updatedAt,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(id) ^
      const DeepCollectionEquality().hash(nickname) ^
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(roles) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(createdAt) ^
      const DeepCollectionEquality().hash(updatedAt) ^
      runtimeType.hashCode;
}

extension $AdminUserDtoExtension on AdminUserDto {
  AdminUserDto copyWith({
    String? id,
    String? nickname,
    String? username,
    List<AdminUserRoleItem>? roles,
    String? status,
    DateTime? createdAt,
    DateTime? updatedAt,
  }) {
    return AdminUserDto(
      id: id ?? this.id,
      nickname: nickname ?? this.nickname,
      username: username ?? this.username,
      roles: roles ?? this.roles,
      status: status ?? this.status,
      createdAt: createdAt ?? this.createdAt,
      updatedAt: updatedAt ?? this.updatedAt,
    );
  }

  AdminUserDto copyWithWrapped({
    Wrapped<String>? id,
    Wrapped<String>? nickname,
    Wrapped<String>? username,
    Wrapped<List<AdminUserRoleItem>>? roles,
    Wrapped<String>? status,
    Wrapped<DateTime>? createdAt,
    Wrapped<DateTime>? updatedAt,
  }) {
    return AdminUserDto(
      id: (id != null ? id.value : this.id),
      nickname: (nickname != null ? nickname.value : this.nickname),
      username: (username != null ? username.value : this.username),
      roles: (roles != null ? roles.value : this.roles),
      status: (status != null ? status.value : this.status),
      createdAt: (createdAt != null ? createdAt.value : this.createdAt),
      updatedAt: (updatedAt != null ? updatedAt.value : this.updatedAt),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateAdminUserDto {
  const UpdateAdminUserDto({
    required this.nickname,
    required this.username,
    required this.password,
    required this.roles,
    required this.status,
  });

  factory UpdateAdminUserDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateAdminUserDtoFromJson(json);

  static const toJsonFactory = _$UpdateAdminUserDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateAdminUserDtoToJson(this);

  @JsonKey(name: 'nickname', includeIfNull: false, defaultValue: '')
  final String nickname;
  @JsonKey(name: 'username', includeIfNull: false, defaultValue: '')
  final String username;
  @JsonKey(name: 'password', includeIfNull: false, defaultValue: '')
  final String password;
  @JsonKey(name: 'roles', includeIfNull: false, defaultValue: <String>[])
  final List<String> roles;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  static const fromJsonFactory = _$UpdateAdminUserDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is UpdateAdminUserDto &&
            (identical(other.nickname, nickname) ||
                const DeepCollectionEquality().equals(
                  other.nickname,
                  nickname,
                )) &&
            (identical(other.username, username) ||
                const DeepCollectionEquality().equals(
                  other.username,
                  username,
                )) &&
            (identical(other.password, password) ||
                const DeepCollectionEquality().equals(
                  other.password,
                  password,
                )) &&
            (identical(other.roles, roles) ||
                const DeepCollectionEquality().equals(other.roles, roles)) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(nickname) ^
      const DeepCollectionEquality().hash(username) ^
      const DeepCollectionEquality().hash(password) ^
      const DeepCollectionEquality().hash(roles) ^
      const DeepCollectionEquality().hash(status) ^
      runtimeType.hashCode;
}

extension $UpdateAdminUserDtoExtension on UpdateAdminUserDto {
  UpdateAdminUserDto copyWith({
    String? nickname,
    String? username,
    String? password,
    List<String>? roles,
    String? status,
  }) {
    return UpdateAdminUserDto(
      nickname: nickname ?? this.nickname,
      username: username ?? this.username,
      password: password ?? this.password,
      roles: roles ?? this.roles,
      status: status ?? this.status,
    );
  }

  UpdateAdminUserDto copyWithWrapped({
    Wrapped<String>? nickname,
    Wrapped<String>? username,
    Wrapped<String>? password,
    Wrapped<List<String>>? roles,
    Wrapped<String>? status,
  }) {
    return UpdateAdminUserDto(
      nickname: (nickname != null ? nickname.value : this.nickname),
      username: (username != null ? username.value : this.username),
      password: (password != null ? password.value : this.password),
      roles: (roles != null ? roles.value : this.roles),
      status: (status != null ? status.value : this.status),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateAdminRoleDto {
  const CreateAdminRoleDto({
    required this.name,
    this.description,
    required this.menus,
    required this.permissions,
    this.status,
  });

  factory CreateAdminRoleDto.fromJson(Map<String, dynamic> json) =>
      _$CreateAdminRoleDtoFromJson(json);

  static const toJsonFactory = _$CreateAdminRoleDtoToJson;
  Map<String, dynamic> toJson() => _$CreateAdminRoleDtoToJson(this);

  @JsonKey(name: 'name', includeIfNull: false, defaultValue: '')
  final String name;
  @JsonKey(name: 'description', includeIfNull: false, defaultValue: '')
  final String? description;
  @JsonKey(name: 'menus', includeIfNull: false, defaultValue: <String>[])
  final List<String> menus;
  @JsonKey(name: 'permissions', includeIfNull: false, defaultValue: <String>[])
  final List<String> permissions;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String? status;
  static const fromJsonFactory = _$CreateAdminRoleDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateAdminRoleDto &&
            (identical(other.name, name) ||
                const DeepCollectionEquality().equals(other.name, name)) &&
            (identical(other.description, description) ||
                const DeepCollectionEquality().equals(
                  other.description,
                  description,
                )) &&
            (identical(other.menus, menus) ||
                const DeepCollectionEquality().equals(other.menus, menus)) &&
            (identical(other.permissions, permissions) ||
                const DeepCollectionEquality().equals(
                  other.permissions,
                  permissions,
                )) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(name) ^
      const DeepCollectionEquality().hash(description) ^
      const DeepCollectionEquality().hash(menus) ^
      const DeepCollectionEquality().hash(permissions) ^
      const DeepCollectionEquality().hash(status) ^
      runtimeType.hashCode;
}

extension $CreateAdminRoleDtoExtension on CreateAdminRoleDto {
  CreateAdminRoleDto copyWith({
    String? name,
    String? description,
    List<String>? menus,
    List<String>? permissions,
    String? status,
  }) {
    return CreateAdminRoleDto(
      name: name ?? this.name,
      description: description ?? this.description,
      menus: menus ?? this.menus,
      permissions: permissions ?? this.permissions,
      status: status ?? this.status,
    );
  }

  CreateAdminRoleDto copyWithWrapped({
    Wrapped<String>? name,
    Wrapped<String?>? description,
    Wrapped<List<String>>? menus,
    Wrapped<List<String>>? permissions,
    Wrapped<String?>? status,
  }) {
    return CreateAdminRoleDto(
      name: (name != null ? name.value : this.name),
      description: (description != null ? description.value : this.description),
      menus: (menus != null ? menus.value : this.menus),
      permissions: (permissions != null ? permissions.value : this.permissions),
      status: (status != null ? status.value : this.status),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRoleDto {
  const AdminRoleDto({
    required this.id,
    required this.name,
    required this.description,
    required this.menus,
    required this.permissions,
    required this.status,
    required this.createdAt,
    required this.updatedAt,
  });

  factory AdminRoleDto.fromJson(Map<String, dynamic> json) =>
      _$AdminRoleDtoFromJson(json);

  static const toJsonFactory = _$AdminRoleDtoToJson;
  Map<String, dynamic> toJson() => _$AdminRoleDtoToJson(this);

  @JsonKey(name: 'id', includeIfNull: false, defaultValue: '')
  final String id;
  @JsonKey(name: 'name', includeIfNull: false, defaultValue: '')
  final String name;
  @JsonKey(name: 'description', includeIfNull: false, defaultValue: '')
  final String description;
  @JsonKey(name: 'menus', includeIfNull: false, defaultValue: <String>[])
  final List<String> menus;
  @JsonKey(name: 'permissions', includeIfNull: false, defaultValue: <String>[])
  final List<String> permissions;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  @JsonKey(name: 'createdAt', includeIfNull: false)
  final DateTime createdAt;
  @JsonKey(name: 'updatedAt', includeIfNull: false)
  final DateTime updatedAt;
  static const fromJsonFactory = _$AdminRoleDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRoleDto &&
            (identical(other.id, id) ||
                const DeepCollectionEquality().equals(other.id, id)) &&
            (identical(other.name, name) ||
                const DeepCollectionEquality().equals(other.name, name)) &&
            (identical(other.description, description) ||
                const DeepCollectionEquality().equals(
                  other.description,
                  description,
                )) &&
            (identical(other.menus, menus) ||
                const DeepCollectionEquality().equals(other.menus, menus)) &&
            (identical(other.permissions, permissions) ||
                const DeepCollectionEquality().equals(
                  other.permissions,
                  permissions,
                )) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.createdAt, createdAt) ||
                const DeepCollectionEquality().equals(
                  other.createdAt,
                  createdAt,
                )) &&
            (identical(other.updatedAt, updatedAt) ||
                const DeepCollectionEquality().equals(
                  other.updatedAt,
                  updatedAt,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(id) ^
      const DeepCollectionEquality().hash(name) ^
      const DeepCollectionEquality().hash(description) ^
      const DeepCollectionEquality().hash(menus) ^
      const DeepCollectionEquality().hash(permissions) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(createdAt) ^
      const DeepCollectionEquality().hash(updatedAt) ^
      runtimeType.hashCode;
}

extension $AdminRoleDtoExtension on AdminRoleDto {
  AdminRoleDto copyWith({
    String? id,
    String? name,
    String? description,
    List<String>? menus,
    List<String>? permissions,
    String? status,
    DateTime? createdAt,
    DateTime? updatedAt,
  }) {
    return AdminRoleDto(
      id: id ?? this.id,
      name: name ?? this.name,
      description: description ?? this.description,
      menus: menus ?? this.menus,
      permissions: permissions ?? this.permissions,
      status: status ?? this.status,
      createdAt: createdAt ?? this.createdAt,
      updatedAt: updatedAt ?? this.updatedAt,
    );
  }

  AdminRoleDto copyWithWrapped({
    Wrapped<String>? id,
    Wrapped<String>? name,
    Wrapped<String>? description,
    Wrapped<List<String>>? menus,
    Wrapped<List<String>>? permissions,
    Wrapped<String>? status,
    Wrapped<DateTime>? createdAt,
    Wrapped<DateTime>? updatedAt,
  }) {
    return AdminRoleDto(
      id: (id != null ? id.value : this.id),
      name: (name != null ? name.value : this.name),
      description: (description != null ? description.value : this.description),
      menus: (menus != null ? menus.value : this.menus),
      permissions: (permissions != null ? permissions.value : this.permissions),
      status: (status != null ? status.value : this.status),
      createdAt: (createdAt != null ? createdAt.value : this.createdAt),
      updatedAt: (updatedAt != null ? updatedAt.value : this.updatedAt),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateAdminRoleDto {
  const UpdateAdminRoleDto({
    this.name,
    this.description,
    required this.menus,
    required this.permissions,
    this.status,
  });

  factory UpdateAdminRoleDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateAdminRoleDtoFromJson(json);

  static const toJsonFactory = _$UpdateAdminRoleDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateAdminRoleDtoToJson(this);

  @JsonKey(name: 'name', includeIfNull: false, defaultValue: '')
  final String? name;
  @JsonKey(name: 'description', includeIfNull: false, defaultValue: '')
  final String? description;
  @JsonKey(name: 'menus', includeIfNull: false, defaultValue: <String>[])
  final List<String> menus;
  @JsonKey(name: 'permissions', includeIfNull: false, defaultValue: <String>[])
  final List<String> permissions;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String? status;
  static const fromJsonFactory = _$UpdateAdminRoleDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is UpdateAdminRoleDto &&
            (identical(other.name, name) ||
                const DeepCollectionEquality().equals(other.name, name)) &&
            (identical(other.description, description) ||
                const DeepCollectionEquality().equals(
                  other.description,
                  description,
                )) &&
            (identical(other.menus, menus) ||
                const DeepCollectionEquality().equals(other.menus, menus)) &&
            (identical(other.permissions, permissions) ||
                const DeepCollectionEquality().equals(
                  other.permissions,
                  permissions,
                )) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(name) ^
      const DeepCollectionEquality().hash(description) ^
      const DeepCollectionEquality().hash(menus) ^
      const DeepCollectionEquality().hash(permissions) ^
      const DeepCollectionEquality().hash(status) ^
      runtimeType.hashCode;
}

extension $UpdateAdminRoleDtoExtension on UpdateAdminRoleDto {
  UpdateAdminRoleDto copyWith({
    String? name,
    String? description,
    List<String>? menus,
    List<String>? permissions,
    String? status,
  }) {
    return UpdateAdminRoleDto(
      name: name ?? this.name,
      description: description ?? this.description,
      menus: menus ?? this.menus,
      permissions: permissions ?? this.permissions,
      status: status ?? this.status,
    );
  }

  UpdateAdminRoleDto copyWithWrapped({
    Wrapped<String?>? name,
    Wrapped<String?>? description,
    Wrapped<List<String>>? menus,
    Wrapped<List<String>>? permissions,
    Wrapped<String?>? status,
  }) {
    return UpdateAdminRoleDto(
      name: (name != null ? name.value : this.name),
      description: (description != null ? description.value : this.description),
      menus: (menus != null ? menus.value : this.menus),
      permissions: (permissions != null ? permissions.value : this.permissions),
      status: (status != null ? status.value : this.status),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminPermissionItemDto {
  const AdminPermissionItemDto({
    required this.key,
    required this.description,
    required this.group,
    required this.groupDescription,
    required this.status,
  });

  factory AdminPermissionItemDto.fromJson(Map<String, dynamic> json) =>
      _$AdminPermissionItemDtoFromJson(json);

  static const toJsonFactory = _$AdminPermissionItemDtoToJson;
  Map<String, dynamic> toJson() => _$AdminPermissionItemDtoToJson(this);

  @JsonKey(name: 'key', includeIfNull: false, defaultValue: '')
  final String key;
  @JsonKey(name: 'description', includeIfNull: false, defaultValue: '')
  final String description;
  @JsonKey(name: 'group', includeIfNull: false, defaultValue: '')
  final String group;
  @JsonKey(name: 'groupDescription', includeIfNull: false, defaultValue: '')
  final String groupDescription;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  static const fromJsonFactory = _$AdminPermissionItemDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminPermissionItemDto &&
            (identical(other.key, key) ||
                const DeepCollectionEquality().equals(other.key, key)) &&
            (identical(other.description, description) ||
                const DeepCollectionEquality().equals(
                  other.description,
                  description,
                )) &&
            (identical(other.group, group) ||
                const DeepCollectionEquality().equals(other.group, group)) &&
            (identical(other.groupDescription, groupDescription) ||
                const DeepCollectionEquality().equals(
                  other.groupDescription,
                  groupDescription,
                )) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(key) ^
      const DeepCollectionEquality().hash(description) ^
      const DeepCollectionEquality().hash(group) ^
      const DeepCollectionEquality().hash(groupDescription) ^
      const DeepCollectionEquality().hash(status) ^
      runtimeType.hashCode;
}

extension $AdminPermissionItemDtoExtension on AdminPermissionItemDto {
  AdminPermissionItemDto copyWith({
    String? key,
    String? description,
    String? group,
    String? groupDescription,
    String? status,
  }) {
    return AdminPermissionItemDto(
      key: key ?? this.key,
      description: description ?? this.description,
      group: group ?? this.group,
      groupDescription: groupDescription ?? this.groupDescription,
      status: status ?? this.status,
    );
  }

  AdminPermissionItemDto copyWithWrapped({
    Wrapped<String>? key,
    Wrapped<String>? description,
    Wrapped<String>? group,
    Wrapped<String>? groupDescription,
    Wrapped<String>? status,
  }) {
    return AdminPermissionItemDto(
      key: (key != null ? key.value : this.key),
      description: (description != null ? description.value : this.description),
      group: (group != null ? group.value : this.group),
      groupDescription:
          (groupDescription != null
              ? groupDescription.value
              : this.groupDescription),
      status: (status != null ? status.value : this.status),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminMenuItem {
  const AdminMenuItem({
    required this.path,
    required this.name,
    required this.title,
    required this.permissions,
    this.parentName,
  });

  factory AdminMenuItem.fromJson(Map<String, dynamic> json) =>
      _$AdminMenuItemFromJson(json);

  static const toJsonFactory = _$AdminMenuItemToJson;
  Map<String, dynamic> toJson() => _$AdminMenuItemToJson(this);

  @JsonKey(name: 'path', includeIfNull: false, defaultValue: '')
  final String path;
  @JsonKey(name: 'name', includeIfNull: false, defaultValue: '')
  final String name;
  @JsonKey(name: 'title', includeIfNull: false, defaultValue: '')
  final String title;
  @JsonKey(name: 'permissions', includeIfNull: false, defaultValue: <String>[])
  final List<String> permissions;
  @JsonKey(name: 'parentName', includeIfNull: false, defaultValue: '')
  final String? parentName;
  static const fromJsonFactory = _$AdminMenuItemFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminMenuItem &&
            (identical(other.path, path) ||
                const DeepCollectionEquality().equals(other.path, path)) &&
            (identical(other.name, name) ||
                const DeepCollectionEquality().equals(other.name, name)) &&
            (identical(other.title, title) ||
                const DeepCollectionEquality().equals(other.title, title)) &&
            (identical(other.permissions, permissions) ||
                const DeepCollectionEquality().equals(
                  other.permissions,
                  permissions,
                )) &&
            (identical(other.parentName, parentName) ||
                const DeepCollectionEquality().equals(
                  other.parentName,
                  parentName,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(path) ^
      const DeepCollectionEquality().hash(name) ^
      const DeepCollectionEquality().hash(title) ^
      const DeepCollectionEquality().hash(permissions) ^
      const DeepCollectionEquality().hash(parentName) ^
      runtimeType.hashCode;
}

extension $AdminMenuItemExtension on AdminMenuItem {
  AdminMenuItem copyWith({
    String? path,
    String? name,
    String? title,
    List<String>? permissions,
    String? parentName,
  }) {
    return AdminMenuItem(
      path: path ?? this.path,
      name: name ?? this.name,
      title: title ?? this.title,
      permissions: permissions ?? this.permissions,
      parentName: parentName ?? this.parentName,
    );
  }

  AdminMenuItem copyWithWrapped({
    Wrapped<String>? path,
    Wrapped<String>? name,
    Wrapped<String>? title,
    Wrapped<List<String>>? permissions,
    Wrapped<String?>? parentName,
  }) {
    return AdminMenuItem(
      path: (path != null ? path.value : this.path),
      name: (name != null ? name.value : this.name),
      title: (title != null ? title.value : this.title),
      permissions: (permissions != null ? permissions.value : this.permissions),
      parentName: (parentName != null ? parentName.value : this.parentName),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateAdminMenusDto {
  const UpdateAdminMenusDto({required this.menus});

  factory UpdateAdminMenusDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateAdminMenusDtoFromJson(json);

  static const toJsonFactory = _$UpdateAdminMenusDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateAdminMenusDtoToJson(this);

  @JsonKey(name: 'menus', includeIfNull: false, defaultValue: <AdminMenuItem>[])
  final List<AdminMenuItem> menus;
  static const fromJsonFactory = _$UpdateAdminMenusDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is UpdateAdminMenusDto &&
            (identical(other.menus, menus) ||
                const DeepCollectionEquality().equals(other.menus, menus)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(menus) ^ runtimeType.hashCode;
}

extension $UpdateAdminMenusDtoExtension on UpdateAdminMenusDto {
  UpdateAdminMenusDto copyWith({List<AdminMenuItem>? menus}) {
    return UpdateAdminMenusDto(menus: menus ?? this.menus);
  }

  UpdateAdminMenusDto copyWithWrapped({Wrapped<List<AdminMenuItem>>? menus}) {
    return UpdateAdminMenusDto(
      menus: (menus != null ? menus.value : this.menus),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateAdminDictTypeDto {
  const CreateAdminDictTypeDto({
    required this.type,
    required this.typeName,
    required this.status,
    required this.remark,
  });

  factory CreateAdminDictTypeDto.fromJson(Map<String, dynamic> json) =>
      _$CreateAdminDictTypeDtoFromJson(json);

  static const toJsonFactory = _$CreateAdminDictTypeDtoToJson;
  Map<String, dynamic> toJson() => _$CreateAdminDictTypeDtoToJson(this);

  @JsonKey(name: 'type', includeIfNull: false, defaultValue: '')
  final String type;
  @JsonKey(name: 'typeName', includeIfNull: false, defaultValue: '')
  final String typeName;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  @JsonKey(name: 'remark', includeIfNull: false, defaultValue: '')
  final String remark;
  static const fromJsonFactory = _$CreateAdminDictTypeDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateAdminDictTypeDto &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.typeName, typeName) ||
                const DeepCollectionEquality().equals(
                  other.typeName,
                  typeName,
                )) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.remark, remark) ||
                const DeepCollectionEquality().equals(other.remark, remark)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(typeName) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(remark) ^
      runtimeType.hashCode;
}

extension $CreateAdminDictTypeDtoExtension on CreateAdminDictTypeDto {
  CreateAdminDictTypeDto copyWith({
    String? type,
    String? typeName,
    String? status,
    String? remark,
  }) {
    return CreateAdminDictTypeDto(
      type: type ?? this.type,
      typeName: typeName ?? this.typeName,
      status: status ?? this.status,
      remark: remark ?? this.remark,
    );
  }

  CreateAdminDictTypeDto copyWithWrapped({
    Wrapped<String>? type,
    Wrapped<String>? typeName,
    Wrapped<String>? status,
    Wrapped<String>? remark,
  }) {
    return CreateAdminDictTypeDto(
      type: (type != null ? type.value : this.type),
      typeName: (typeName != null ? typeName.value : this.typeName),
      status: (status != null ? status.value : this.status),
      remark: (remark != null ? remark.value : this.remark),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeDto {
  const AdminDictTypeDto({
    required this.id,
    required this.type,
    required this.typeName,
    required this.status,
    required this.remark,
    required this.from,
    required this.createdAt,
    required this.updatedAt,
  });

  factory AdminDictTypeDto.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeDtoFromJson(json);

  static const toJsonFactory = _$AdminDictTypeDtoToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypeDtoToJson(this);

  @JsonKey(name: 'id', includeIfNull: false, defaultValue: '')
  final String id;
  @JsonKey(name: 'type', includeIfNull: false, defaultValue: '')
  final String type;
  @JsonKey(name: 'typeName', includeIfNull: false, defaultValue: '')
  final String typeName;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  @JsonKey(name: 'remark', includeIfNull: false, defaultValue: '')
  final String remark;
  @JsonKey(name: 'from', includeIfNull: false, defaultValue: '')
  final String from;
  @JsonKey(name: 'createdAt', includeIfNull: false)
  final DateTime createdAt;
  @JsonKey(name: 'updatedAt', includeIfNull: false)
  final DateTime updatedAt;
  static const fromJsonFactory = _$AdminDictTypeDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeDto &&
            (identical(other.id, id) ||
                const DeepCollectionEquality().equals(other.id, id)) &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.typeName, typeName) ||
                const DeepCollectionEquality().equals(
                  other.typeName,
                  typeName,
                )) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.remark, remark) ||
                const DeepCollectionEquality().equals(other.remark, remark)) &&
            (identical(other.from, from) ||
                const DeepCollectionEquality().equals(other.from, from)) &&
            (identical(other.createdAt, createdAt) ||
                const DeepCollectionEquality().equals(
                  other.createdAt,
                  createdAt,
                )) &&
            (identical(other.updatedAt, updatedAt) ||
                const DeepCollectionEquality().equals(
                  other.updatedAt,
                  updatedAt,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(id) ^
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(typeName) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(remark) ^
      const DeepCollectionEquality().hash(from) ^
      const DeepCollectionEquality().hash(createdAt) ^
      const DeepCollectionEquality().hash(updatedAt) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeDtoExtension on AdminDictTypeDto {
  AdminDictTypeDto copyWith({
    String? id,
    String? type,
    String? typeName,
    String? status,
    String? remark,
    String? from,
    DateTime? createdAt,
    DateTime? updatedAt,
  }) {
    return AdminDictTypeDto(
      id: id ?? this.id,
      type: type ?? this.type,
      typeName: typeName ?? this.typeName,
      status: status ?? this.status,
      remark: remark ?? this.remark,
      from: from ?? this.from,
      createdAt: createdAt ?? this.createdAt,
      updatedAt: updatedAt ?? this.updatedAt,
    );
  }

  AdminDictTypeDto copyWithWrapped({
    Wrapped<String>? id,
    Wrapped<String>? type,
    Wrapped<String>? typeName,
    Wrapped<String>? status,
    Wrapped<String>? remark,
    Wrapped<String>? from,
    Wrapped<DateTime>? createdAt,
    Wrapped<DateTime>? updatedAt,
  }) {
    return AdminDictTypeDto(
      id: (id != null ? id.value : this.id),
      type: (type != null ? type.value : this.type),
      typeName: (typeName != null ? typeName.value : this.typeName),
      status: (status != null ? status.value : this.status),
      remark: (remark != null ? remark.value : this.remark),
      from: (from != null ? from.value : this.from),
      createdAt: (createdAt != null ? createdAt.value : this.createdAt),
      updatedAt: (updatedAt != null ? updatedAt.value : this.updatedAt),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateAdminDictTypeDto {
  const UpdateAdminDictTypeDto({
    this.type,
    this.typeName,
    this.status,
    this.remark,
  });

  factory UpdateAdminDictTypeDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateAdminDictTypeDtoFromJson(json);

  static const toJsonFactory = _$UpdateAdminDictTypeDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateAdminDictTypeDtoToJson(this);

  @JsonKey(name: 'type', includeIfNull: false, defaultValue: '')
  final String? type;
  @JsonKey(name: 'typeName', includeIfNull: false, defaultValue: '')
  final String? typeName;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String? status;
  @JsonKey(name: 'remark', includeIfNull: false, defaultValue: '')
  final String? remark;
  static const fromJsonFactory = _$UpdateAdminDictTypeDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is UpdateAdminDictTypeDto &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.typeName, typeName) ||
                const DeepCollectionEquality().equals(
                  other.typeName,
                  typeName,
                )) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.remark, remark) ||
                const DeepCollectionEquality().equals(other.remark, remark)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(typeName) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(remark) ^
      runtimeType.hashCode;
}

extension $UpdateAdminDictTypeDtoExtension on UpdateAdminDictTypeDto {
  UpdateAdminDictTypeDto copyWith({
    String? type,
    String? typeName,
    String? status,
    String? remark,
  }) {
    return UpdateAdminDictTypeDto(
      type: type ?? this.type,
      typeName: typeName ?? this.typeName,
      status: status ?? this.status,
      remark: remark ?? this.remark,
    );
  }

  UpdateAdminDictTypeDto copyWithWrapped({
    Wrapped<String?>? type,
    Wrapped<String?>? typeName,
    Wrapped<String?>? status,
    Wrapped<String?>? remark,
  }) {
    return UpdateAdminDictTypeDto(
      type: (type != null ? type.value : this.type),
      typeName: (typeName != null ? typeName.value : this.typeName),
      status: (status != null ? status.value : this.status),
      remark: (remark != null ? remark.value : this.remark),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class CreateAdminDictDto {
  const CreateAdminDictDto({
    required this.type,
    required this.code,
    required this.label,
    required this.sort,
    required this.status,
    required this.remark,
  });

  factory CreateAdminDictDto.fromJson(Map<String, dynamic> json) =>
      _$CreateAdminDictDtoFromJson(json);

  static const toJsonFactory = _$CreateAdminDictDtoToJson;
  Map<String, dynamic> toJson() => _$CreateAdminDictDtoToJson(this);

  @JsonKey(name: 'type', includeIfNull: false, defaultValue: '')
  final String type;
  @JsonKey(name: 'code', includeIfNull: false, defaultValue: '')
  final String code;
  @JsonKey(name: 'label', includeIfNull: false, defaultValue: '')
  final String label;
  @JsonKey(name: 'sort', includeIfNull: false)
  final double sort;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  @JsonKey(name: 'remark', includeIfNull: false, defaultValue: '')
  final String remark;
  static const fromJsonFactory = _$CreateAdminDictDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is CreateAdminDictDto &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.label, label) ||
                const DeepCollectionEquality().equals(other.label, label)) &&
            (identical(other.sort, sort) ||
                const DeepCollectionEquality().equals(other.sort, sort)) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.remark, remark) ||
                const DeepCollectionEquality().equals(other.remark, remark)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(label) ^
      const DeepCollectionEquality().hash(sort) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(remark) ^
      runtimeType.hashCode;
}

extension $CreateAdminDictDtoExtension on CreateAdminDictDto {
  CreateAdminDictDto copyWith({
    String? type,
    String? code,
    String? label,
    double? sort,
    String? status,
    String? remark,
  }) {
    return CreateAdminDictDto(
      type: type ?? this.type,
      code: code ?? this.code,
      label: label ?? this.label,
      sort: sort ?? this.sort,
      status: status ?? this.status,
      remark: remark ?? this.remark,
    );
  }

  CreateAdminDictDto copyWithWrapped({
    Wrapped<String>? type,
    Wrapped<String>? code,
    Wrapped<String>? label,
    Wrapped<double>? sort,
    Wrapped<String>? status,
    Wrapped<String>? remark,
  }) {
    return CreateAdminDictDto(
      type: (type != null ? type.value : this.type),
      code: (code != null ? code.value : this.code),
      label: (label != null ? label.value : this.label),
      sort: (sort != null ? sort.value : this.sort),
      status: (status != null ? status.value : this.status),
      remark: (remark != null ? remark.value : this.remark),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictDto {
  const AdminDictDto({
    required this.type,
    required this.code,
    required this.label,
    required this.sort,
    required this.status,
    required this.remark,
    required this.createdAt,
    required this.updatedAt,
  });

  factory AdminDictDto.fromJson(Map<String, dynamic> json) =>
      _$AdminDictDtoFromJson(json);

  static const toJsonFactory = _$AdminDictDtoToJson;
  Map<String, dynamic> toJson() => _$AdminDictDtoToJson(this);

  @JsonKey(name: 'type', includeIfNull: false, defaultValue: '')
  final String type;
  @JsonKey(name: 'code', includeIfNull: false, defaultValue: '')
  final String code;
  @JsonKey(name: 'label', includeIfNull: false, defaultValue: '')
  final String label;
  @JsonKey(name: 'sort', includeIfNull: false)
  final double sort;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String status;
  @JsonKey(name: 'remark', includeIfNull: false, defaultValue: '')
  final String remark;
  @JsonKey(name: 'createdAt', includeIfNull: false)
  final DateTime createdAt;
  @JsonKey(name: 'updatedAt', includeIfNull: false)
  final DateTime updatedAt;
  static const fromJsonFactory = _$AdminDictDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictDto &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.label, label) ||
                const DeepCollectionEquality().equals(other.label, label)) &&
            (identical(other.sort, sort) ||
                const DeepCollectionEquality().equals(other.sort, sort)) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.remark, remark) ||
                const DeepCollectionEquality().equals(other.remark, remark)) &&
            (identical(other.createdAt, createdAt) ||
                const DeepCollectionEquality().equals(
                  other.createdAt,
                  createdAt,
                )) &&
            (identical(other.updatedAt, updatedAt) ||
                const DeepCollectionEquality().equals(
                  other.updatedAt,
                  updatedAt,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(label) ^
      const DeepCollectionEquality().hash(sort) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(remark) ^
      const DeepCollectionEquality().hash(createdAt) ^
      const DeepCollectionEquality().hash(updatedAt) ^
      runtimeType.hashCode;
}

extension $AdminDictDtoExtension on AdminDictDto {
  AdminDictDto copyWith({
    String? type,
    String? code,
    String? label,
    double? sort,
    String? status,
    String? remark,
    DateTime? createdAt,
    DateTime? updatedAt,
  }) {
    return AdminDictDto(
      type: type ?? this.type,
      code: code ?? this.code,
      label: label ?? this.label,
      sort: sort ?? this.sort,
      status: status ?? this.status,
      remark: remark ?? this.remark,
      createdAt: createdAt ?? this.createdAt,
      updatedAt: updatedAt ?? this.updatedAt,
    );
  }

  AdminDictDto copyWithWrapped({
    Wrapped<String>? type,
    Wrapped<String>? code,
    Wrapped<String>? label,
    Wrapped<double>? sort,
    Wrapped<String>? status,
    Wrapped<String>? remark,
    Wrapped<DateTime>? createdAt,
    Wrapped<DateTime>? updatedAt,
  }) {
    return AdminDictDto(
      type: (type != null ? type.value : this.type),
      code: (code != null ? code.value : this.code),
      label: (label != null ? label.value : this.label),
      sort: (sort != null ? sort.value : this.sort),
      status: (status != null ? status.value : this.status),
      remark: (remark != null ? remark.value : this.remark),
      createdAt: (createdAt != null ? createdAt.value : this.createdAt),
      updatedAt: (updatedAt != null ? updatedAt.value : this.updatedAt),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class UpdateAdminDictDto {
  const UpdateAdminDictDto({
    this.type,
    this.code,
    this.label,
    this.sort,
    this.status,
    this.remark,
  });

  factory UpdateAdminDictDto.fromJson(Map<String, dynamic> json) =>
      _$UpdateAdminDictDtoFromJson(json);

  static const toJsonFactory = _$UpdateAdminDictDtoToJson;
  Map<String, dynamic> toJson() => _$UpdateAdminDictDtoToJson(this);

  @JsonKey(name: 'type', includeIfNull: false, defaultValue: '')
  final String? type;
  @JsonKey(name: 'code', includeIfNull: false, defaultValue: '')
  final String? code;
  @JsonKey(name: 'label', includeIfNull: false, defaultValue: '')
  final String? label;
  @JsonKey(name: 'sort', includeIfNull: false)
  final double? sort;
  @JsonKey(name: 'status', includeIfNull: false, defaultValue: '')
  final String? status;
  @JsonKey(name: 'remark', includeIfNull: false, defaultValue: '')
  final String? remark;
  static const fromJsonFactory = _$UpdateAdminDictDtoFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is UpdateAdminDictDto &&
            (identical(other.type, type) ||
                const DeepCollectionEquality().equals(other.type, type)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.label, label) ||
                const DeepCollectionEquality().equals(other.label, label)) &&
            (identical(other.sort, sort) ||
                const DeepCollectionEquality().equals(other.sort, sort)) &&
            (identical(other.status, status) ||
                const DeepCollectionEquality().equals(other.status, status)) &&
            (identical(other.remark, remark) ||
                const DeepCollectionEquality().equals(other.remark, remark)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(type) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(label) ^
      const DeepCollectionEquality().hash(sort) ^
      const DeepCollectionEquality().hash(status) ^
      const DeepCollectionEquality().hash(remark) ^
      runtimeType.hashCode;
}

extension $UpdateAdminDictDtoExtension on UpdateAdminDictDto {
  UpdateAdminDictDto copyWith({
    String? type,
    String? code,
    String? label,
    double? sort,
    String? status,
    String? remark,
  }) {
    return UpdateAdminDictDto(
      type: type ?? this.type,
      code: code ?? this.code,
      label: label ?? this.label,
      sort: sort ?? this.sort,
      status: status ?? this.status,
      remark: remark ?? this.remark,
    );
  }

  UpdateAdminDictDto copyWithWrapped({
    Wrapped<String?>? type,
    Wrapped<String?>? code,
    Wrapped<String?>? label,
    Wrapped<double?>? sort,
    Wrapped<String?>? status,
    Wrapped<String?>? remark,
  }) {
    return UpdateAdminDictDto(
      type: (type != null ? type.value : this.type),
      code: (code != null ? code.value : this.code),
      label: (label != null ? label.value : this.label),
      sort: (sort != null ? sort.value : this.sort),
      status: (status != null ? status.value : this.status),
      remark: (remark != null ? remark.value : this.remark),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersPostResponse {
  const AppUsersPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppUsersPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AppUsersPostResponseFromJson(json);

  static const toJsonFactory = _$AppUsersPostResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppUsersPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersPostResponseExtension on AppUsersPostResponse {
  AppUsersPostResponse copyWith({User? data, double? code, String? message}) {
    return AppUsersPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersPostResponse copyWithWrapped({
    Wrapped<User>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppUsersPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersGetResponse {
  const AppUsersGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppUsersGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppUsersGetResponseFromJson(json);

  static const toJsonFactory = _$AppUsersGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppUsersGetResponse$Data data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppUsersGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersGetResponseExtension on AppUsersGetResponse {
  AppUsersGetResponse copyWith({
    AppUsersGetResponse$Data? data,
    double? code,
    String? message,
  }) {
    return AppUsersGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersGetResponse copyWithWrapped({
    Wrapped<AppUsersGetResponse$Data>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppUsersGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersLoginPostResponse {
  const AppUsersLoginPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppUsersLoginPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AppUsersLoginPostResponseFromJson(json);

  static const toJsonFactory = _$AppUsersLoginPostResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersLoginPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppUsersLoginPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersLoginPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersLoginPostResponseExtension on AppUsersLoginPostResponse {
  AppUsersLoginPostResponse copyWith({
    User? data,
    double? code,
    String? message,
  }) {
    return AppUsersLoginPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersLoginPostResponse copyWithWrapped({
    Wrapped<User>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppUsersLoginPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersIdGetResponse {
  const AppUsersIdGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppUsersIdGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppUsersIdGetResponseFromJson(json);

  static const toJsonFactory = _$AppUsersIdGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersIdGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppUsersIdGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersIdGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersIdGetResponseExtension on AppUsersIdGetResponse {
  AppUsersIdGetResponse copyWith({User? data, double? code, String? message}) {
    return AppUsersIdGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersIdGetResponse copyWithWrapped({
    Wrapped<User>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppUsersIdGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersIdPatchResponse {
  const AppUsersIdPatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppUsersIdPatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AppUsersIdPatchResponseFromJson(json);

  static const toJsonFactory = _$AppUsersIdPatchResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersIdPatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppUsersIdPatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersIdPatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersIdPatchResponseExtension on AppUsersIdPatchResponse {
  AppUsersIdPatchResponse copyWith({
    User? data,
    double? code,
    String? message,
  }) {
    return AppUsersIdPatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersIdPatchResponse copyWithWrapped({
    Wrapped<User>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppUsersIdPatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersIdDeleteResponse {
  const AppUsersIdDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppUsersIdDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AppUsersIdDeleteResponseFromJson(json);

  static const toJsonFactory = _$AppUsersIdDeleteResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersIdDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final bool data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppUsersIdDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersIdDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersIdDeleteResponseExtension on AppUsersIdDeleteResponse {
  AppUsersIdDeleteResponse copyWith({
    bool? data,
    double? code,
    String? message,
  }) {
    return AppUsersIdDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersIdDeleteResponse copyWithWrapped({
    Wrapped<bool>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppUsersIdDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerPostResponse {
  const AppLedgerPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppLedgerPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerPostResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerPostResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppLedgerPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerPostResponseExtension on AppLedgerPostResponse {
  AppLedgerPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppLedgerPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerGetResponse {
  const AppLedgerGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppLedgerGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerGetResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppLedgerGetResponse$Data data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppLedgerGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerGetResponseExtension on AppLedgerGetResponse {
  AppLedgerGetResponse copyWith({
    AppLedgerGetResponse$Data? data,
    double? code,
    String? message,
  }) {
    return AppLedgerGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerGetResponse copyWithWrapped({
    Wrapped<AppLedgerGetResponse$Data>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppLedgerGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerIdGetResponse {
  const AppLedgerIdGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppLedgerIdGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerIdGetResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerIdGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerIdGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final Ledger data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppLedgerIdGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerIdGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerIdGetResponseExtension on AppLedgerIdGetResponse {
  AppLedgerIdGetResponse copyWith({
    Ledger? data,
    double? code,
    String? message,
  }) {
    return AppLedgerIdGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerIdGetResponse copyWithWrapped({
    Wrapped<Ledger>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppLedgerIdGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerIdPatchResponse {
  const AppLedgerIdPatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppLedgerIdPatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerIdPatchResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerIdPatchResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerIdPatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppLedgerIdPatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerIdPatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerIdPatchResponseExtension on AppLedgerIdPatchResponse {
  AppLedgerIdPatchResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerIdPatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerIdPatchResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppLedgerIdPatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerIdDeleteResponse {
  const AppLedgerIdDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppLedgerIdDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerIdDeleteResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerIdDeleteResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerIdDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppLedgerIdDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerIdDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerIdDeleteResponseExtension on AppLedgerIdDeleteResponse {
  AppLedgerIdDeleteResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerIdDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerIdDeleteResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppLedgerIdDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerAiCommentPostResponse {
  const AppLedgerAiCommentPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppLedgerAiCommentPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerAiCommentPostResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerAiCommentPostResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerAiCommentPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppLedgerAiCommentPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerAiCommentPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerAiCommentPostResponseExtension
    on AppLedgerAiCommentPostResponse {
  AppLedgerAiCommentPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerAiCommentPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerAiCommentPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppLedgerAiCommentPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoPostResponse {
  const AppTodoPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppTodoPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AppTodoPostResponseFromJson(json);

  static const toJsonFactory = _$AppTodoPostResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppTodoPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoPostResponseExtension on AppTodoPostResponse {
  AppTodoPostResponse copyWith({String? data, double? code, String? message}) {
    return AppTodoPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppTodoPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoGetResponse {
  const AppTodoGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppTodoGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppTodoGetResponseFromJson(json);

  static const toJsonFactory = _$AppTodoGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppTodoGetResponse$Data data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppTodoGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoGetResponseExtension on AppTodoGetResponse {
  AppTodoGetResponse copyWith({
    AppTodoGetResponse$Data? data,
    double? code,
    String? message,
  }) {
    return AppTodoGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoGetResponse copyWithWrapped({
    Wrapped<AppTodoGetResponse$Data>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppTodoGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoIdGetResponse {
  const AppTodoIdGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppTodoIdGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppTodoIdGetResponseFromJson(json);

  static const toJsonFactory = _$AppTodoIdGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoIdGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final Todo data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppTodoIdGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoIdGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoIdGetResponseExtension on AppTodoIdGetResponse {
  AppTodoIdGetResponse copyWith({Todo? data, double? code, String? message}) {
    return AppTodoIdGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoIdGetResponse copyWithWrapped({
    Wrapped<Todo>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppTodoIdGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoIdPatchResponse {
  const AppTodoIdPatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppTodoIdPatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AppTodoIdPatchResponseFromJson(json);

  static const toJsonFactory = _$AppTodoIdPatchResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoIdPatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppTodoIdPatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoIdPatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoIdPatchResponseExtension on AppTodoIdPatchResponse {
  AppTodoIdPatchResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppTodoIdPatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoIdPatchResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppTodoIdPatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoIdDeleteResponse {
  const AppTodoIdDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppTodoIdDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AppTodoIdDeleteResponseFromJson(json);

  static const toJsonFactory = _$AppTodoIdDeleteResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoIdDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppTodoIdDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoIdDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoIdDeleteResponseExtension on AppTodoIdDeleteResponse {
  AppTodoIdDeleteResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppTodoIdDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoIdDeleteResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppTodoIdDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoAiCommentPostResponse {
  const AppTodoAiCommentPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppTodoAiCommentPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AppTodoAiCommentPostResponseFromJson(json);

  static const toJsonFactory = _$AppTodoAiCommentPostResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoAiCommentPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppTodoAiCommentPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoAiCommentPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoAiCommentPostResponseExtension
    on AppTodoAiCommentPostResponse {
  AppTodoAiCommentPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppTodoAiCommentPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoAiCommentPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppTodoAiCommentPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalPostResponse {
  const AppJournalPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppJournalPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AppJournalPostResponseFromJson(json);

  static const toJsonFactory = _$AppJournalPostResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppJournalPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalPostResponseExtension on AppJournalPostResponse {
  AppJournalPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppJournalPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppJournalPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalGetResponse {
  const AppJournalGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppJournalGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppJournalGetResponseFromJson(json);

  static const toJsonFactory = _$AppJournalGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppJournalGetResponse$Data data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppJournalGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalGetResponseExtension on AppJournalGetResponse {
  AppJournalGetResponse copyWith({
    AppJournalGetResponse$Data? data,
    double? code,
    String? message,
  }) {
    return AppJournalGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalGetResponse copyWithWrapped({
    Wrapped<AppJournalGetResponse$Data>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppJournalGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalIdGetResponse {
  const AppJournalIdGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppJournalIdGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AppJournalIdGetResponseFromJson(json);

  static const toJsonFactory = _$AppJournalIdGetResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalIdGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final Journal data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppJournalIdGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalIdGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalIdGetResponseExtension on AppJournalIdGetResponse {
  AppJournalIdGetResponse copyWith({
    Journal? data,
    double? code,
    String? message,
  }) {
    return AppJournalIdGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalIdGetResponse copyWithWrapped({
    Wrapped<Journal>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppJournalIdGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalIdPatchResponse {
  const AppJournalIdPatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppJournalIdPatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AppJournalIdPatchResponseFromJson(json);

  static const toJsonFactory = _$AppJournalIdPatchResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalIdPatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppJournalIdPatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalIdPatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalIdPatchResponseExtension on AppJournalIdPatchResponse {
  AppJournalIdPatchResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppJournalIdPatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalIdPatchResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppJournalIdPatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalIdDeleteResponse {
  const AppJournalIdDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AppJournalIdDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AppJournalIdDeleteResponseFromJson(json);

  static const toJsonFactory = _$AppJournalIdDeleteResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalIdDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AppJournalIdDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalIdDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalIdDeleteResponseExtension on AppJournalIdDeleteResponse {
  AppJournalIdDeleteResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppJournalIdDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalIdDeleteResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AppJournalIdDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersRootPostResponse {
  const AdminUsersRootPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminUsersRootPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersRootPostResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersRootPostResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersRootPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminUsersRootPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersRootPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersRootPostResponseExtension on AdminUsersRootPostResponse {
  AdminUsersRootPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersRootPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersRootPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminUsersRootPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersLoginPostResponse {
  const AdminUsersLoginPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminUsersLoginPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersLoginPostResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersLoginPostResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersLoginPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final LoginAdminUserResDto data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminUsersLoginPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersLoginPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersLoginPostResponseExtension on AdminUsersLoginPostResponse {
  AdminUsersLoginPostResponse copyWith({
    LoginAdminUserResDto? data,
    double? code,
    String? message,
  }) {
    return AdminUsersLoginPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersLoginPostResponse copyWithWrapped({
    Wrapped<LoginAdminUserResDto>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminUsersLoginPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersLoginInfoGetResponse {
  const AdminUsersLoginInfoGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminUsersLoginInfoGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersLoginInfoGetResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersLoginInfoGetResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersLoginInfoGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final UserInfo data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminUsersLoginInfoGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersLoginInfoGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersLoginInfoGetResponseExtension
    on AdminUsersLoginInfoGetResponse {
  AdminUsersLoginInfoGetResponse copyWith({
    UserInfo? data,
    double? code,
    String? message,
  }) {
    return AdminUsersLoginInfoGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersLoginInfoGetResponse copyWithWrapped({
    Wrapped<UserInfo>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminUsersLoginInfoGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersPostResponse {
  const AdminUsersPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminUsersPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersPostResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersPostResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminUsersPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersPostResponseExtension on AdminUsersPostResponse {
  AdminUsersPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminUsersPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersGetResponse {
  const AdminUsersGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminUsersGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersGetResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersGetResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AdminUsersGetResponse$Data data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminUsersGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersGetResponseExtension on AdminUsersGetResponse {
  AdminUsersGetResponse copyWith({
    AdminUsersGetResponse$Data? data,
    double? code,
    String? message,
  }) {
    return AdminUsersGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersGetResponse copyWithWrapped({
    Wrapped<AdminUsersGetResponse$Data>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminUsersGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersIdPatchResponse {
  const AdminUsersIdPatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminUsersIdPatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersIdPatchResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersIdPatchResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersIdPatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminUsersIdPatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersIdPatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersIdPatchResponseExtension on AdminUsersIdPatchResponse {
  AdminUsersIdPatchResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersIdPatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersIdPatchResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminUsersIdPatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersIdDeleteResponse {
  const AdminUsersIdDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminUsersIdDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersIdDeleteResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersIdDeleteResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersIdDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminUsersIdDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersIdDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersIdDeleteResponseExtension on AdminUsersIdDeleteResponse {
  AdminUsersIdDeleteResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersIdDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersIdDeleteResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminUsersIdDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesPostResponse {
  const AdminRolesPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminRolesPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesPostResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesPostResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminRolesPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesPostResponseExtension on AdminRolesPostResponse {
  AdminRolesPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminRolesPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesGetResponse {
  const AdminRolesGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminRolesGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesGetResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesGetResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AdminRolesGetResponse$Data data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminRolesGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesGetResponseExtension on AdminRolesGetResponse {
  AdminRolesGetResponse copyWith({
    AdminRolesGetResponse$Data? data,
    double? code,
    String? message,
  }) {
    return AdminRolesGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesGetResponse copyWithWrapped({
    Wrapped<AdminRolesGetResponse$Data>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminRolesGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesRoleIdPatchResponse {
  const AdminRolesRoleIdPatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminRolesRoleIdPatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesRoleIdPatchResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesRoleIdPatchResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesRoleIdPatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminRolesRoleIdPatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesRoleIdPatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesRoleIdPatchResponseExtension
    on AdminRolesRoleIdPatchResponse {
  AdminRolesRoleIdPatchResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesRoleIdPatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesRoleIdPatchResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminRolesRoleIdPatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesRoleIdDeleteResponse {
  const AdminRolesRoleIdDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminRolesRoleIdDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesRoleIdDeleteResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesRoleIdDeleteResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesRoleIdDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminRolesRoleIdDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesRoleIdDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesRoleIdDeleteResponseExtension
    on AdminRolesRoleIdDeleteResponse {
  AdminRolesRoleIdDeleteResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesRoleIdDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesRoleIdDeleteResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminRolesRoleIdDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesPermissionsGetResponse {
  const AdminRolesPermissionsGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminRolesPermissionsGetResponse.fromJson(
    Map<String, dynamic> json,
  ) => _$AdminRolesPermissionsGetResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesPermissionsGetResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminRolesPermissionsGetResponseToJson(this);

  @JsonKey(
    name: 'data',
    includeIfNull: false,
    defaultValue: <AdminPermissionItemDto>[],
  )
  final List<AdminPermissionItemDto> data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminRolesPermissionsGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesPermissionsGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesPermissionsGetResponseExtension
    on AdminRolesPermissionsGetResponse {
  AdminRolesPermissionsGetResponse copyWith({
    List<AdminPermissionItemDto>? data,
    double? code,
    String? message,
  }) {
    return AdminRolesPermissionsGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesPermissionsGetResponse copyWithWrapped({
    Wrapped<List<AdminPermissionItemDto>>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminRolesPermissionsGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesMenusPostResponse {
  const AdminRolesMenusPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminRolesMenusPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesMenusPostResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesMenusPostResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesMenusPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminRolesMenusPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesMenusPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesMenusPostResponseExtension on AdminRolesMenusPostResponse {
  AdminRolesMenusPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesMenusPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesMenusPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminRolesMenusPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesMenusGetResponse {
  const AdminRolesMenusGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminRolesMenusGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesMenusGetResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesMenusGetResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesMenusGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: <AdminMenuItem>[])
  final List<AdminMenuItem> data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminRolesMenusGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesMenusGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesMenusGetResponseExtension on AdminRolesMenusGetResponse {
  AdminRolesMenusGetResponse copyWith({
    List<AdminMenuItem>? data,
    double? code,
    String? message,
  }) {
    return AdminRolesMenusGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesMenusGetResponse copyWithWrapped({
    Wrapped<List<AdminMenuItem>>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminRolesMenusGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypePostResponse {
  const AdminDictTypePostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictTypePostResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypePostResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypePostResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypePostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictTypePostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypePostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypePostResponseExtension on AdminDictTypePostResponse {
  AdminDictTypePostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypePostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypePostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictTypePostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeGetResponse {
  const AdminDictTypeGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictTypeGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeGetResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeGetResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypeGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AdminDictTypeGetResponse$Data data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictTypeGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeGetResponseExtension on AdminDictTypeGetResponse {
  AdminDictTypeGetResponse copyWith({
    AdminDictTypeGetResponse$Data? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeGetResponse copyWithWrapped({
    Wrapped<AdminDictTypeGetResponse$Data>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictTypeGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeTypePatchResponse {
  const AdminDictTypeTypePatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictTypeTypePatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeTypePatchResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeTypePatchResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypeTypePatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictTypeTypePatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeTypePatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeTypePatchResponseExtension
    on AdminDictTypeTypePatchResponse {
  AdminDictTypeTypePatchResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeTypePatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeTypePatchResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictTypeTypePatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeTypeDeleteResponse {
  const AdminDictTypeTypeDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictTypeTypeDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeTypeDeleteResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeTypeDeleteResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminDictTypeTypeDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictTypeTypeDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeTypeDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeTypeDeleteResponseExtension
    on AdminDictTypeTypeDeleteResponse {
  AdminDictTypeTypeDeleteResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeTypeDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeTypeDeleteResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictTypeTypeDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictPostResponse {
  const AdminDictPostResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictPostResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictPostResponseFromJson(json);

  static const toJsonFactory = _$AdminDictPostResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictPostResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictPostResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictPostResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictPostResponseExtension on AdminDictPostResponse {
  AdminDictPostResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictPostResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictPostResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictPostResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictItemsTypeGetResponse {
  const AdminDictItemsTypeGetResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictItemsTypeGetResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictItemsTypeGetResponseFromJson(json);

  static const toJsonFactory = _$AdminDictItemsTypeGetResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictItemsTypeGetResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: <AdminDictDto>[])
  final List<AdminDictDto> data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictItemsTypeGetResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictItemsTypeGetResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictItemsTypeGetResponseExtension
    on AdminDictItemsTypeGetResponse {
  AdminDictItemsTypeGetResponse copyWith({
    List<AdminDictDto>? data,
    double? code,
    String? message,
  }) {
    return AdminDictItemsTypeGetResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictItemsTypeGetResponse copyWithWrapped({
    Wrapped<List<AdminDictDto>>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictItemsTypeGetResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeCodePatchResponse {
  const AdminDictTypeCodePatchResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictTypeCodePatchResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeCodePatchResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeCodePatchResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypeCodePatchResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictTypeCodePatchResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeCodePatchResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeCodePatchResponseExtension
    on AdminDictTypeCodePatchResponse {
  AdminDictTypeCodePatchResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeCodePatchResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeCodePatchResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictTypeCodePatchResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeCodeDeleteResponse {
  const AdminDictTypeCodeDeleteResponse({
    required this.data,
    required this.code,
    required this.message,
  });

  factory AdminDictTypeCodeDeleteResponse.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeCodeDeleteResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeCodeDeleteResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminDictTypeCodeDeleteResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String message;
  static const fromJsonFactory = _$AdminDictTypeCodeDeleteResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeCodeDeleteResponse &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeCodeDeleteResponseExtension
    on AdminDictTypeCodeDeleteResponse {
  AdminDictTypeCodeDeleteResponse copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeCodeDeleteResponse(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeCodeDeleteResponse copyWithWrapped({
    Wrapped<String>? data,
    Wrapped<double>? code,
    Wrapped<String>? message,
  }) {
    return AdminDictTypeCodeDeleteResponse(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersPost$Response {
  const AppUsersPost$Response({this.data, this.code, this.message});

  factory AppUsersPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AppUsersPost$ResponseFromJson(json);

  static const toJsonFactory = _$AppUsersPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppUsersPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersPost$ResponseExtension on AppUsersPost$Response {
  AppUsersPost$Response copyWith({User? data, double? code, String? message}) {
    return AppUsersPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersPost$Response copyWithWrapped({
    Wrapped<User?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppUsersPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersGet$Response {
  const AppUsersGet$Response({this.data, this.code, this.message});

  factory AppUsersGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppUsersGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppUsersGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppUsersGet$Response$Data? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppUsersGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersGet$ResponseExtension on AppUsersGet$Response {
  AppUsersGet$Response copyWith({
    AppUsersGet$Response$Data? data,
    double? code,
    String? message,
  }) {
    return AppUsersGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersGet$Response copyWithWrapped({
    Wrapped<AppUsersGet$Response$Data?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppUsersGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersLoginPost$Response {
  const AppUsersLoginPost$Response({this.data, this.code, this.message});

  factory AppUsersLoginPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AppUsersLoginPost$ResponseFromJson(json);

  static const toJsonFactory = _$AppUsersLoginPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersLoginPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppUsersLoginPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersLoginPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersLoginPost$ResponseExtension on AppUsersLoginPost$Response {
  AppUsersLoginPost$Response copyWith({
    User? data,
    double? code,
    String? message,
  }) {
    return AppUsersLoginPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersLoginPost$Response copyWithWrapped({
    Wrapped<User?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppUsersLoginPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersIdGet$Response {
  const AppUsersIdGet$Response({this.data, this.code, this.message});

  factory AppUsersIdGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppUsersIdGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppUsersIdGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersIdGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppUsersIdGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersIdGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersIdGet$ResponseExtension on AppUsersIdGet$Response {
  AppUsersIdGet$Response copyWith({User? data, double? code, String? message}) {
    return AppUsersIdGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersIdGet$Response copyWithWrapped({
    Wrapped<User?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppUsersIdGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersIdPatch$Response {
  const AppUsersIdPatch$Response({this.data, this.code, this.message});

  factory AppUsersIdPatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AppUsersIdPatch$ResponseFromJson(json);

  static const toJsonFactory = _$AppUsersIdPatch$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersIdPatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final User? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppUsersIdPatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersIdPatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersIdPatch$ResponseExtension on AppUsersIdPatch$Response {
  AppUsersIdPatch$Response copyWith({
    User? data,
    double? code,
    String? message,
  }) {
    return AppUsersIdPatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersIdPatch$Response copyWithWrapped({
    Wrapped<User?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppUsersIdPatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersIdDelete$Response {
  const AppUsersIdDelete$Response({this.data, this.code, this.message});

  factory AppUsersIdDelete$Response.fromJson(Map<String, dynamic> json) =>
      _$AppUsersIdDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AppUsersIdDelete$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppUsersIdDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final bool? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppUsersIdDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersIdDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppUsersIdDelete$ResponseExtension on AppUsersIdDelete$Response {
  AppUsersIdDelete$Response copyWith({
    bool? data,
    double? code,
    String? message,
  }) {
    return AppUsersIdDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppUsersIdDelete$Response copyWithWrapped({
    Wrapped<bool?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppUsersIdDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerPost$Response {
  const AppLedgerPost$Response({this.data, this.code, this.message});

  factory AppLedgerPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerPost$ResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppLedgerPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerPost$ResponseExtension on AppLedgerPost$Response {
  AppLedgerPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppLedgerPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerGet$Response {
  const AppLedgerGet$Response({this.data, this.code, this.message});

  factory AppLedgerGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppLedgerGet$Response$Data? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppLedgerGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerGet$ResponseExtension on AppLedgerGet$Response {
  AppLedgerGet$Response copyWith({
    AppLedgerGet$Response$Data? data,
    double? code,
    String? message,
  }) {
    return AppLedgerGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerGet$Response copyWithWrapped({
    Wrapped<AppLedgerGet$Response$Data?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppLedgerGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerIdGet$Response {
  const AppLedgerIdGet$Response({this.data, this.code, this.message});

  factory AppLedgerIdGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerIdGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerIdGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerIdGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final Ledger? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppLedgerIdGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerIdGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerIdGet$ResponseExtension on AppLedgerIdGet$Response {
  AppLedgerIdGet$Response copyWith({
    Ledger? data,
    double? code,
    String? message,
  }) {
    return AppLedgerIdGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerIdGet$Response copyWithWrapped({
    Wrapped<Ledger?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppLedgerIdGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerIdPatch$Response {
  const AppLedgerIdPatch$Response({this.data, this.code, this.message});

  factory AppLedgerIdPatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerIdPatch$ResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerIdPatch$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerIdPatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppLedgerIdPatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerIdPatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerIdPatch$ResponseExtension on AppLedgerIdPatch$Response {
  AppLedgerIdPatch$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerIdPatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerIdPatch$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppLedgerIdPatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerIdDelete$Response {
  const AppLedgerIdDelete$Response({this.data, this.code, this.message});

  factory AppLedgerIdDelete$Response.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerIdDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerIdDelete$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppLedgerIdDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppLedgerIdDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerIdDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerIdDelete$ResponseExtension on AppLedgerIdDelete$Response {
  AppLedgerIdDelete$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerIdDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerIdDelete$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppLedgerIdDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerAiCommentPost$Response {
  const AppLedgerAiCommentPost$Response({this.data, this.code, this.message});

  factory AppLedgerAiCommentPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerAiCommentPost$ResponseFromJson(json);

  static const toJsonFactory = _$AppLedgerAiCommentPost$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AppLedgerAiCommentPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppLedgerAiCommentPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerAiCommentPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppLedgerAiCommentPost$ResponseExtension
    on AppLedgerAiCommentPost$Response {
  AppLedgerAiCommentPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppLedgerAiCommentPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppLedgerAiCommentPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppLedgerAiCommentPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoPost$Response {
  const AppTodoPost$Response({this.data, this.code, this.message});

  factory AppTodoPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AppTodoPost$ResponseFromJson(json);

  static const toJsonFactory = _$AppTodoPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppTodoPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoPost$ResponseExtension on AppTodoPost$Response {
  AppTodoPost$Response copyWith({String? data, double? code, String? message}) {
    return AppTodoPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppTodoPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoGet$Response {
  const AppTodoGet$Response({this.data, this.code, this.message});

  factory AppTodoGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppTodoGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppTodoGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppTodoGet$Response$Data? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppTodoGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoGet$ResponseExtension on AppTodoGet$Response {
  AppTodoGet$Response copyWith({
    AppTodoGet$Response$Data? data,
    double? code,
    String? message,
  }) {
    return AppTodoGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoGet$Response copyWithWrapped({
    Wrapped<AppTodoGet$Response$Data?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppTodoGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoIdGet$Response {
  const AppTodoIdGet$Response({this.data, this.code, this.message});

  factory AppTodoIdGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppTodoIdGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppTodoIdGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoIdGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final Todo? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppTodoIdGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoIdGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoIdGet$ResponseExtension on AppTodoIdGet$Response {
  AppTodoIdGet$Response copyWith({Todo? data, double? code, String? message}) {
    return AppTodoIdGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoIdGet$Response copyWithWrapped({
    Wrapped<Todo?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppTodoIdGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoIdPatch$Response {
  const AppTodoIdPatch$Response({this.data, this.code, this.message});

  factory AppTodoIdPatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AppTodoIdPatch$ResponseFromJson(json);

  static const toJsonFactory = _$AppTodoIdPatch$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoIdPatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppTodoIdPatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoIdPatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoIdPatch$ResponseExtension on AppTodoIdPatch$Response {
  AppTodoIdPatch$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppTodoIdPatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoIdPatch$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppTodoIdPatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoIdDelete$Response {
  const AppTodoIdDelete$Response({this.data, this.code, this.message});

  factory AppTodoIdDelete$Response.fromJson(Map<String, dynamic> json) =>
      _$AppTodoIdDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AppTodoIdDelete$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoIdDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppTodoIdDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoIdDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoIdDelete$ResponseExtension on AppTodoIdDelete$Response {
  AppTodoIdDelete$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppTodoIdDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoIdDelete$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppTodoIdDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoAiCommentPost$Response {
  const AppTodoAiCommentPost$Response({this.data, this.code, this.message});

  factory AppTodoAiCommentPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AppTodoAiCommentPost$ResponseFromJson(json);

  static const toJsonFactory = _$AppTodoAiCommentPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppTodoAiCommentPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppTodoAiCommentPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoAiCommentPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppTodoAiCommentPost$ResponseExtension
    on AppTodoAiCommentPost$Response {
  AppTodoAiCommentPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppTodoAiCommentPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppTodoAiCommentPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppTodoAiCommentPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalPost$Response {
  const AppJournalPost$Response({this.data, this.code, this.message});

  factory AppJournalPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AppJournalPost$ResponseFromJson(json);

  static const toJsonFactory = _$AppJournalPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppJournalPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalPost$ResponseExtension on AppJournalPost$Response {
  AppJournalPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppJournalPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppJournalPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalGet$Response {
  const AppJournalGet$Response({this.data, this.code, this.message});

  factory AppJournalGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppJournalGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppJournalGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AppJournalGet$Response$Data? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppJournalGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalGet$ResponseExtension on AppJournalGet$Response {
  AppJournalGet$Response copyWith({
    AppJournalGet$Response$Data? data,
    double? code,
    String? message,
  }) {
    return AppJournalGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalGet$Response copyWithWrapped({
    Wrapped<AppJournalGet$Response$Data?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppJournalGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalIdGet$Response {
  const AppJournalIdGet$Response({this.data, this.code, this.message});

  factory AppJournalIdGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AppJournalIdGet$ResponseFromJson(json);

  static const toJsonFactory = _$AppJournalIdGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalIdGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final Journal? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppJournalIdGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalIdGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalIdGet$ResponseExtension on AppJournalIdGet$Response {
  AppJournalIdGet$Response copyWith({
    Journal? data,
    double? code,
    String? message,
  }) {
    return AppJournalIdGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalIdGet$Response copyWithWrapped({
    Wrapped<Journal?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppJournalIdGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalIdPatch$Response {
  const AppJournalIdPatch$Response({this.data, this.code, this.message});

  factory AppJournalIdPatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AppJournalIdPatch$ResponseFromJson(json);

  static const toJsonFactory = _$AppJournalIdPatch$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalIdPatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppJournalIdPatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalIdPatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalIdPatch$ResponseExtension on AppJournalIdPatch$Response {
  AppJournalIdPatch$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppJournalIdPatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalIdPatch$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppJournalIdPatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalIdDelete$Response {
  const AppJournalIdDelete$Response({this.data, this.code, this.message});

  factory AppJournalIdDelete$Response.fromJson(Map<String, dynamic> json) =>
      _$AppJournalIdDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AppJournalIdDelete$ResponseToJson;
  Map<String, dynamic> toJson() => _$AppJournalIdDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AppJournalIdDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalIdDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AppJournalIdDelete$ResponseExtension on AppJournalIdDelete$Response {
  AppJournalIdDelete$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AppJournalIdDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AppJournalIdDelete$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AppJournalIdDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersRootPost$Response {
  const AdminUsersRootPost$Response({this.data, this.code, this.message});

  factory AdminUsersRootPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersRootPost$ResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersRootPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersRootPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminUsersRootPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersRootPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersRootPost$ResponseExtension on AdminUsersRootPost$Response {
  AdminUsersRootPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersRootPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersRootPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminUsersRootPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersLoginPost$Response {
  const AdminUsersLoginPost$Response({this.data, this.code, this.message});

  factory AdminUsersLoginPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersLoginPost$ResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersLoginPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersLoginPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final LoginAdminUserResDto? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminUsersLoginPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersLoginPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersLoginPost$ResponseExtension
    on AdminUsersLoginPost$Response {
  AdminUsersLoginPost$Response copyWith({
    LoginAdminUserResDto? data,
    double? code,
    String? message,
  }) {
    return AdminUsersLoginPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersLoginPost$Response copyWithWrapped({
    Wrapped<LoginAdminUserResDto?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminUsersLoginPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersLoginInfoGet$Response {
  const AdminUsersLoginInfoGet$Response({this.data, this.code, this.message});

  factory AdminUsersLoginInfoGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersLoginInfoGet$ResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersLoginInfoGet$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminUsersLoginInfoGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final UserInfo? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminUsersLoginInfoGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersLoginInfoGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersLoginInfoGet$ResponseExtension
    on AdminUsersLoginInfoGet$Response {
  AdminUsersLoginInfoGet$Response copyWith({
    UserInfo? data,
    double? code,
    String? message,
  }) {
    return AdminUsersLoginInfoGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersLoginInfoGet$Response copyWithWrapped({
    Wrapped<UserInfo?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminUsersLoginInfoGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersPost$Response {
  const AdminUsersPost$Response({this.data, this.code, this.message});

  factory AdminUsersPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersPost$ResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminUsersPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersPost$ResponseExtension on AdminUsersPost$Response {
  AdminUsersPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminUsersPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersGet$Response {
  const AdminUsersGet$Response({this.data, this.code, this.message});

  factory AdminUsersGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersGet$ResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AdminUsersGet$Response$Data? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminUsersGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersGet$ResponseExtension on AdminUsersGet$Response {
  AdminUsersGet$Response copyWith({
    AdminUsersGet$Response$Data? data,
    double? code,
    String? message,
  }) {
    return AdminUsersGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersGet$Response copyWithWrapped({
    Wrapped<AdminUsersGet$Response$Data?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminUsersGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersIdPatch$Response {
  const AdminUsersIdPatch$Response({this.data, this.code, this.message});

  factory AdminUsersIdPatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersIdPatch$ResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersIdPatch$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersIdPatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminUsersIdPatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersIdPatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersIdPatch$ResponseExtension on AdminUsersIdPatch$Response {
  AdminUsersIdPatch$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersIdPatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersIdPatch$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminUsersIdPatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersIdDelete$Response {
  const AdminUsersIdDelete$Response({this.data, this.code, this.message});

  factory AdminUsersIdDelete$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersIdDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AdminUsersIdDelete$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminUsersIdDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminUsersIdDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersIdDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminUsersIdDelete$ResponseExtension on AdminUsersIdDelete$Response {
  AdminUsersIdDelete$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminUsersIdDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminUsersIdDelete$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminUsersIdDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesPost$Response {
  const AdminRolesPost$Response({this.data, this.code, this.message});

  factory AdminRolesPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesPost$ResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminRolesPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesPost$ResponseExtension on AdminRolesPost$Response {
  AdminRolesPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminRolesPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesGet$Response {
  const AdminRolesGet$Response({this.data, this.code, this.message});

  factory AdminRolesGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesGet$ResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AdminRolesGet$Response$Data? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminRolesGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesGet$ResponseExtension on AdminRolesGet$Response {
  AdminRolesGet$Response copyWith({
    AdminRolesGet$Response$Data? data,
    double? code,
    String? message,
  }) {
    return AdminRolesGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesGet$Response copyWithWrapped({
    Wrapped<AdminRolesGet$Response$Data?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminRolesGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesRoleIdPatch$Response {
  const AdminRolesRoleIdPatch$Response({this.data, this.code, this.message});

  factory AdminRolesRoleIdPatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesRoleIdPatch$ResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesRoleIdPatch$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesRoleIdPatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminRolesRoleIdPatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesRoleIdPatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesRoleIdPatch$ResponseExtension
    on AdminRolesRoleIdPatch$Response {
  AdminRolesRoleIdPatch$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesRoleIdPatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesRoleIdPatch$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminRolesRoleIdPatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesRoleIdDelete$Response {
  const AdminRolesRoleIdDelete$Response({this.data, this.code, this.message});

  factory AdminRolesRoleIdDelete$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesRoleIdDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesRoleIdDelete$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminRolesRoleIdDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminRolesRoleIdDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesRoleIdDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesRoleIdDelete$ResponseExtension
    on AdminRolesRoleIdDelete$Response {
  AdminRolesRoleIdDelete$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesRoleIdDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesRoleIdDelete$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminRolesRoleIdDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesPermissionsGet$Response {
  const AdminRolesPermissionsGet$Response({this.data, this.code, this.message});

  factory AdminRolesPermissionsGet$Response.fromJson(
    Map<String, dynamic> json,
  ) => _$AdminRolesPermissionsGet$ResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesPermissionsGet$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminRolesPermissionsGet$ResponseToJson(this);

  @JsonKey(
    name: 'data',
    includeIfNull: false,
    defaultValue: <AdminPermissionItemDto>[],
  )
  final List<AdminPermissionItemDto>? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminRolesPermissionsGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesPermissionsGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesPermissionsGet$ResponseExtension
    on AdminRolesPermissionsGet$Response {
  AdminRolesPermissionsGet$Response copyWith({
    List<AdminPermissionItemDto>? data,
    double? code,
    String? message,
  }) {
    return AdminRolesPermissionsGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesPermissionsGet$Response copyWithWrapped({
    Wrapped<List<AdminPermissionItemDto>?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminRolesPermissionsGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesMenusPost$Response {
  const AdminRolesMenusPost$Response({this.data, this.code, this.message});

  factory AdminRolesMenusPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesMenusPost$ResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesMenusPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesMenusPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminRolesMenusPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesMenusPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesMenusPost$ResponseExtension
    on AdminRolesMenusPost$Response {
  AdminRolesMenusPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminRolesMenusPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesMenusPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminRolesMenusPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesMenusGet$Response {
  const AdminRolesMenusGet$Response({this.data, this.code, this.message});

  factory AdminRolesMenusGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesMenusGet$ResponseFromJson(json);

  static const toJsonFactory = _$AdminRolesMenusGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminRolesMenusGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: <AdminMenuItem>[])
  final List<AdminMenuItem>? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminRolesMenusGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesMenusGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminRolesMenusGet$ResponseExtension on AdminRolesMenusGet$Response {
  AdminRolesMenusGet$Response copyWith({
    List<AdminMenuItem>? data,
    double? code,
    String? message,
  }) {
    return AdminRolesMenusGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminRolesMenusGet$Response copyWithWrapped({
    Wrapped<List<AdminMenuItem>?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminRolesMenusGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypePost$Response {
  const AdminDictTypePost$Response({this.data, this.code, this.message});

  factory AdminDictTypePost$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypePost$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypePost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypePost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictTypePost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypePost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypePost$ResponseExtension on AdminDictTypePost$Response {
  AdminDictTypePost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypePost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypePost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictTypePost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeGet$Response {
  const AdminDictTypeGet$Response({this.data, this.code, this.message});

  factory AdminDictTypeGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeGet$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypeGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false)
  final AdminDictTypeGet$Response$Data? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictTypeGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeGet$ResponseExtension on AdminDictTypeGet$Response {
  AdminDictTypeGet$Response copyWith({
    AdminDictTypeGet$Response$Data? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeGet$Response copyWithWrapped({
    Wrapped<AdminDictTypeGet$Response$Data?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictTypeGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeTypePatch$Response {
  const AdminDictTypeTypePatch$Response({this.data, this.code, this.message});

  factory AdminDictTypeTypePatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeTypePatch$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeTypePatch$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminDictTypeTypePatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictTypeTypePatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeTypePatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeTypePatch$ResponseExtension
    on AdminDictTypeTypePatch$Response {
  AdminDictTypeTypePatch$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeTypePatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeTypePatch$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictTypeTypePatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeTypeDelete$Response {
  const AdminDictTypeTypeDelete$Response({this.data, this.code, this.message});

  factory AdminDictTypeTypeDelete$Response.fromJson(
    Map<String, dynamic> json,
  ) => _$AdminDictTypeTypeDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeTypeDelete$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminDictTypeTypeDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictTypeTypeDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeTypeDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeTypeDelete$ResponseExtension
    on AdminDictTypeTypeDelete$Response {
  AdminDictTypeTypeDelete$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeTypeDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeTypeDelete$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictTypeTypeDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictPost$Response {
  const AdminDictPost$Response({this.data, this.code, this.message});

  factory AdminDictPost$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminDictPost$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictPost$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictPost$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictPost$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictPost$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictPost$ResponseExtension on AdminDictPost$Response {
  AdminDictPost$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictPost$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictPost$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictPost$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictItemsTypeGet$Response {
  const AdminDictItemsTypeGet$Response({this.data, this.code, this.message});

  factory AdminDictItemsTypeGet$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminDictItemsTypeGet$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictItemsTypeGet$ResponseToJson;
  Map<String, dynamic> toJson() => _$AdminDictItemsTypeGet$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: <AdminDictDto>[])
  final List<AdminDictDto>? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictItemsTypeGet$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictItemsTypeGet$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictItemsTypeGet$ResponseExtension
    on AdminDictItemsTypeGet$Response {
  AdminDictItemsTypeGet$Response copyWith({
    List<AdminDictDto>? data,
    double? code,
    String? message,
  }) {
    return AdminDictItemsTypeGet$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictItemsTypeGet$Response copyWithWrapped({
    Wrapped<List<AdminDictDto>?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictItemsTypeGet$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeCodePatch$Response {
  const AdminDictTypeCodePatch$Response({this.data, this.code, this.message});

  factory AdminDictTypeCodePatch$Response.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeCodePatch$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeCodePatch$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminDictTypeCodePatch$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictTypeCodePatch$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeCodePatch$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeCodePatch$ResponseExtension
    on AdminDictTypeCodePatch$Response {
  AdminDictTypeCodePatch$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeCodePatch$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeCodePatch$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictTypeCodePatch$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeCodeDelete$Response {
  const AdminDictTypeCodeDelete$Response({this.data, this.code, this.message});

  factory AdminDictTypeCodeDelete$Response.fromJson(
    Map<String, dynamic> json,
  ) => _$AdminDictTypeCodeDelete$ResponseFromJson(json);

  static const toJsonFactory = _$AdminDictTypeCodeDelete$ResponseToJson;
  Map<String, dynamic> toJson() =>
      _$AdminDictTypeCodeDelete$ResponseToJson(this);

  @JsonKey(name: 'data', includeIfNull: false, defaultValue: '')
  final String? data;
  @JsonKey(name: 'code', includeIfNull: false)
  final double? code;
  @JsonKey(name: 'message', includeIfNull: false, defaultValue: '')
  final String? message;
  static const fromJsonFactory = _$AdminDictTypeCodeDelete$ResponseFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeCodeDelete$Response &&
            (identical(other.data, data) ||
                const DeepCollectionEquality().equals(other.data, data)) &&
            (identical(other.code, code) ||
                const DeepCollectionEquality().equals(other.code, code)) &&
            (identical(other.message, message) ||
                const DeepCollectionEquality().equals(other.message, message)));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(data) ^
      const DeepCollectionEquality().hash(code) ^
      const DeepCollectionEquality().hash(message) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeCodeDelete$ResponseExtension
    on AdminDictTypeCodeDelete$Response {
  AdminDictTypeCodeDelete$Response copyWith({
    String? data,
    double? code,
    String? message,
  }) {
    return AdminDictTypeCodeDelete$Response(
      data: data ?? this.data,
      code: code ?? this.code,
      message: message ?? this.message,
    );
  }

  AdminDictTypeCodeDelete$Response copyWithWrapped({
    Wrapped<String?>? data,
    Wrapped<double?>? code,
    Wrapped<String?>? message,
  }) {
    return AdminDictTypeCodeDelete$Response(
      data: (data != null ? data.value : this.data),
      code: (code != null ? code.value : this.code),
      message: (message != null ? message.value : this.message),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersGetResponse$Data {
  const AppUsersGetResponse$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppUsersGetResponse$Data.fromJson(Map<String, dynamic> json) =>
      _$AppUsersGetResponse$DataFromJson(json);

  static const toJsonFactory = _$AppUsersGetResponse$DataToJson;
  Map<String, dynamic> toJson() => _$AppUsersGetResponse$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <User>[])
  final List<User> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppUsersGetResponse$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersGetResponse$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppUsersGetResponse$DataExtension on AppUsersGetResponse$Data {
  AppUsersGetResponse$Data copyWith({
    List<User>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppUsersGetResponse$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppUsersGetResponse$Data copyWithWrapped({
    Wrapped<List<User>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppUsersGetResponse$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerGetResponse$Data {
  const AppLedgerGetResponse$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppLedgerGetResponse$Data.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerGetResponse$DataFromJson(json);

  static const toJsonFactory = _$AppLedgerGetResponse$DataToJson;
  Map<String, dynamic> toJson() => _$AppLedgerGetResponse$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <Ledger>[])
  final List<Ledger> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppLedgerGetResponse$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerGetResponse$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppLedgerGetResponse$DataExtension on AppLedgerGetResponse$Data {
  AppLedgerGetResponse$Data copyWith({
    List<Ledger>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppLedgerGetResponse$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppLedgerGetResponse$Data copyWithWrapped({
    Wrapped<List<Ledger>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppLedgerGetResponse$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoGetResponse$Data {
  const AppTodoGetResponse$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppTodoGetResponse$Data.fromJson(Map<String, dynamic> json) =>
      _$AppTodoGetResponse$DataFromJson(json);

  static const toJsonFactory = _$AppTodoGetResponse$DataToJson;
  Map<String, dynamic> toJson() => _$AppTodoGetResponse$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <Todo>[])
  final List<Todo> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppTodoGetResponse$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoGetResponse$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppTodoGetResponse$DataExtension on AppTodoGetResponse$Data {
  AppTodoGetResponse$Data copyWith({
    List<Todo>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppTodoGetResponse$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppTodoGetResponse$Data copyWithWrapped({
    Wrapped<List<Todo>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppTodoGetResponse$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalGetResponse$Data {
  const AppJournalGetResponse$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppJournalGetResponse$Data.fromJson(Map<String, dynamic> json) =>
      _$AppJournalGetResponse$DataFromJson(json);

  static const toJsonFactory = _$AppJournalGetResponse$DataToJson;
  Map<String, dynamic> toJson() => _$AppJournalGetResponse$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <Journal>[])
  final List<Journal> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppJournalGetResponse$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalGetResponse$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppJournalGetResponse$DataExtension on AppJournalGetResponse$Data {
  AppJournalGetResponse$Data copyWith({
    List<Journal>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppJournalGetResponse$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppJournalGetResponse$Data copyWithWrapped({
    Wrapped<List<Journal>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppJournalGetResponse$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersGetResponse$Data {
  const AdminUsersGetResponse$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AdminUsersGetResponse$Data.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersGetResponse$DataFromJson(json);

  static const toJsonFactory = _$AdminUsersGetResponse$DataToJson;
  Map<String, dynamic> toJson() => _$AdminUsersGetResponse$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <AdminUserDto>[])
  final List<AdminUserDto> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AdminUsersGetResponse$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersGetResponse$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AdminUsersGetResponse$DataExtension on AdminUsersGetResponse$Data {
  AdminUsersGetResponse$Data copyWith({
    List<AdminUserDto>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AdminUsersGetResponse$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AdminUsersGetResponse$Data copyWithWrapped({
    Wrapped<List<AdminUserDto>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AdminUsersGetResponse$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesGetResponse$Data {
  const AdminRolesGetResponse$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AdminRolesGetResponse$Data.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesGetResponse$DataFromJson(json);

  static const toJsonFactory = _$AdminRolesGetResponse$DataToJson;
  Map<String, dynamic> toJson() => _$AdminRolesGetResponse$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <AdminRoleDto>[])
  final List<AdminRoleDto> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AdminRolesGetResponse$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesGetResponse$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AdminRolesGetResponse$DataExtension on AdminRolesGetResponse$Data {
  AdminRolesGetResponse$Data copyWith({
    List<AdminRoleDto>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AdminRolesGetResponse$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AdminRolesGetResponse$Data copyWithWrapped({
    Wrapped<List<AdminRoleDto>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AdminRolesGetResponse$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeGetResponse$Data {
  const AdminDictTypeGetResponse$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AdminDictTypeGetResponse$Data.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeGetResponse$DataFromJson(json);

  static const toJsonFactory = _$AdminDictTypeGetResponse$DataToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypeGetResponse$DataToJson(this);

  @JsonKey(
    name: 'list',
    includeIfNull: false,
    defaultValue: <AdminDictTypeDto>[],
  )
  final List<AdminDictTypeDto> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AdminDictTypeGetResponse$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeGetResponse$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeGetResponse$DataExtension
    on AdminDictTypeGetResponse$Data {
  AdminDictTypeGetResponse$Data copyWith({
    List<AdminDictTypeDto>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AdminDictTypeGetResponse$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AdminDictTypeGetResponse$Data copyWithWrapped({
    Wrapped<List<AdminDictTypeDto>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AdminDictTypeGetResponse$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppUsersGet$Response$Data {
  const AppUsersGet$Response$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppUsersGet$Response$Data.fromJson(Map<String, dynamic> json) =>
      _$AppUsersGet$Response$DataFromJson(json);

  static const toJsonFactory = _$AppUsersGet$Response$DataToJson;
  Map<String, dynamic> toJson() => _$AppUsersGet$Response$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <User>[])
  final List<User> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppUsersGet$Response$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppUsersGet$Response$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppUsersGet$Response$DataExtension on AppUsersGet$Response$Data {
  AppUsersGet$Response$Data copyWith({
    List<User>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppUsersGet$Response$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppUsersGet$Response$Data copyWithWrapped({
    Wrapped<List<User>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppUsersGet$Response$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppLedgerGet$Response$Data {
  const AppLedgerGet$Response$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppLedgerGet$Response$Data.fromJson(Map<String, dynamic> json) =>
      _$AppLedgerGet$Response$DataFromJson(json);

  static const toJsonFactory = _$AppLedgerGet$Response$DataToJson;
  Map<String, dynamic> toJson() => _$AppLedgerGet$Response$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <Ledger>[])
  final List<Ledger> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppLedgerGet$Response$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppLedgerGet$Response$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppLedgerGet$Response$DataExtension on AppLedgerGet$Response$Data {
  AppLedgerGet$Response$Data copyWith({
    List<Ledger>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppLedgerGet$Response$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppLedgerGet$Response$Data copyWithWrapped({
    Wrapped<List<Ledger>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppLedgerGet$Response$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppTodoGet$Response$Data {
  const AppTodoGet$Response$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppTodoGet$Response$Data.fromJson(Map<String, dynamic> json) =>
      _$AppTodoGet$Response$DataFromJson(json);

  static const toJsonFactory = _$AppTodoGet$Response$DataToJson;
  Map<String, dynamic> toJson() => _$AppTodoGet$Response$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <Todo>[])
  final List<Todo> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppTodoGet$Response$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppTodoGet$Response$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppTodoGet$Response$DataExtension on AppTodoGet$Response$Data {
  AppTodoGet$Response$Data copyWith({
    List<Todo>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppTodoGet$Response$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppTodoGet$Response$Data copyWithWrapped({
    Wrapped<List<Todo>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppTodoGet$Response$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AppJournalGet$Response$Data {
  const AppJournalGet$Response$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AppJournalGet$Response$Data.fromJson(Map<String, dynamic> json) =>
      _$AppJournalGet$Response$DataFromJson(json);

  static const toJsonFactory = _$AppJournalGet$Response$DataToJson;
  Map<String, dynamic> toJson() => _$AppJournalGet$Response$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <Journal>[])
  final List<Journal> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AppJournalGet$Response$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AppJournalGet$Response$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AppJournalGet$Response$DataExtension on AppJournalGet$Response$Data {
  AppJournalGet$Response$Data copyWith({
    List<Journal>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AppJournalGet$Response$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AppJournalGet$Response$Data copyWithWrapped({
    Wrapped<List<Journal>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AppJournalGet$Response$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminUsersGet$Response$Data {
  const AdminUsersGet$Response$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AdminUsersGet$Response$Data.fromJson(Map<String, dynamic> json) =>
      _$AdminUsersGet$Response$DataFromJson(json);

  static const toJsonFactory = _$AdminUsersGet$Response$DataToJson;
  Map<String, dynamic> toJson() => _$AdminUsersGet$Response$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <AdminUserDto>[])
  final List<AdminUserDto> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AdminUsersGet$Response$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminUsersGet$Response$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AdminUsersGet$Response$DataExtension on AdminUsersGet$Response$Data {
  AdminUsersGet$Response$Data copyWith({
    List<AdminUserDto>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AdminUsersGet$Response$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AdminUsersGet$Response$Data copyWithWrapped({
    Wrapped<List<AdminUserDto>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AdminUsersGet$Response$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminRolesGet$Response$Data {
  const AdminRolesGet$Response$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AdminRolesGet$Response$Data.fromJson(Map<String, dynamic> json) =>
      _$AdminRolesGet$Response$DataFromJson(json);

  static const toJsonFactory = _$AdminRolesGet$Response$DataToJson;
  Map<String, dynamic> toJson() => _$AdminRolesGet$Response$DataToJson(this);

  @JsonKey(name: 'list', includeIfNull: false, defaultValue: <AdminRoleDto>[])
  final List<AdminRoleDto> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AdminRolesGet$Response$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminRolesGet$Response$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AdminRolesGet$Response$DataExtension on AdminRolesGet$Response$Data {
  AdminRolesGet$Response$Data copyWith({
    List<AdminRoleDto>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AdminRolesGet$Response$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AdminRolesGet$Response$Data copyWithWrapped({
    Wrapped<List<AdminRoleDto>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AdminRolesGet$Response$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

@JsonSerializable(explicitToJson: true)
class AdminDictTypeGet$Response$Data {
  const AdminDictTypeGet$Response$Data({
    required this.list,
    required this.total,
    required this.page,
    required this.pageSize,
  });

  factory AdminDictTypeGet$Response$Data.fromJson(Map<String, dynamic> json) =>
      _$AdminDictTypeGet$Response$DataFromJson(json);

  static const toJsonFactory = _$AdminDictTypeGet$Response$DataToJson;
  Map<String, dynamic> toJson() => _$AdminDictTypeGet$Response$DataToJson(this);

  @JsonKey(
    name: 'list',
    includeIfNull: false,
    defaultValue: <AdminDictTypeDto>[],
  )
  final List<AdminDictTypeDto> list;
  @JsonKey(name: 'total', includeIfNull: false)
  final double total;
  @JsonKey(name: 'page', includeIfNull: false)
  final double page;
  @JsonKey(name: 'pageSize', includeIfNull: false)
  final double pageSize;
  static const fromJsonFactory = _$AdminDictTypeGet$Response$DataFromJson;

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other is AdminDictTypeGet$Response$Data &&
            (identical(other.list, list) ||
                const DeepCollectionEquality().equals(other.list, list)) &&
            (identical(other.total, total) ||
                const DeepCollectionEquality().equals(other.total, total)) &&
            (identical(other.page, page) ||
                const DeepCollectionEquality().equals(other.page, page)) &&
            (identical(other.pageSize, pageSize) ||
                const DeepCollectionEquality().equals(
                  other.pageSize,
                  pageSize,
                )));
  }

  @override
  String toString() => jsonEncode(this);

  @override
  int get hashCode =>
      const DeepCollectionEquality().hash(list) ^
      const DeepCollectionEquality().hash(total) ^
      const DeepCollectionEquality().hash(page) ^
      const DeepCollectionEquality().hash(pageSize) ^
      runtimeType.hashCode;
}

extension $AdminDictTypeGet$Response$DataExtension
    on AdminDictTypeGet$Response$Data {
  AdminDictTypeGet$Response$Data copyWith({
    List<AdminDictTypeDto>? list,
    double? total,
    double? page,
    double? pageSize,
  }) {
    return AdminDictTypeGet$Response$Data(
      list: list ?? this.list,
      total: total ?? this.total,
      page: page ?? this.page,
      pageSize: pageSize ?? this.pageSize,
    );
  }

  AdminDictTypeGet$Response$Data copyWithWrapped({
    Wrapped<List<AdminDictTypeDto>>? list,
    Wrapped<double>? total,
    Wrapped<double>? page,
    Wrapped<double>? pageSize,
  }) {
    return AdminDictTypeGet$Response$Data(
      list: (list != null ? list.value : this.list),
      total: (total != null ? total.value : this.total),
      page: (page != null ? page.value : this.page),
      pageSize: (pageSize != null ? pageSize.value : this.pageSize),
    );
  }
}

String? messageContentItemTypeNullableToJson(
  enums.MessageContentItemType? messageContentItemType,
) {
  return messageContentItemType?.value;
}

String? messageContentItemTypeToJson(
  enums.MessageContentItemType messageContentItemType,
) {
  return messageContentItemType.value;
}

enums.MessageContentItemType messageContentItemTypeFromJson(
  Object? messageContentItemType, [
  enums.MessageContentItemType? defaultValue,
]) {
  return enums.MessageContentItemType.values.firstWhereOrNull(
        (e) =>
            e.value.toString().toLowerCase() ==
            messageContentItemType?.toString().toLowerCase(),
      ) ??
      defaultValue ??
      enums.MessageContentItemType.swaggerGeneratedUnknown;
}

enums.MessageContentItemType? messageContentItemTypeNullableFromJson(
  Object? messageContentItemType, [
  enums.MessageContentItemType? defaultValue,
]) {
  if (messageContentItemType == null) {
    return null;
  }
  return enums.MessageContentItemType.values.firstWhereOrNull(
        (e) =>
            e.value.toString().toLowerCase() ==
            messageContentItemType.toString().toLowerCase(),
      ) ??
      defaultValue;
}

String messageContentItemTypeExplodedListToJson(
  List<enums.MessageContentItemType>? messageContentItemType,
) {
  return messageContentItemType?.map((e) => e.value!).join(',') ?? '';
}

List<String> messageContentItemTypeListToJson(
  List<enums.MessageContentItemType>? messageContentItemType,
) {
  if (messageContentItemType == null) {
    return [];
  }

  return messageContentItemType.map((e) => e.value!).toList();
}

List<enums.MessageContentItemType> messageContentItemTypeListFromJson(
  List? messageContentItemType, [
  List<enums.MessageContentItemType>? defaultValue,
]) {
  if (messageContentItemType == null) {
    return defaultValue ?? [];
  }

  return messageContentItemType
      .map((e) => messageContentItemTypeFromJson(e.toString()))
      .toList();
}

List<enums.MessageContentItemType>? messageContentItemTypeNullableListFromJson(
  List? messageContentItemType, [
  List<enums.MessageContentItemType>? defaultValue,
]) {
  if (messageContentItemType == null) {
    return defaultValue;
  }

  return messageContentItemType
      .map((e) => messageContentItemTypeFromJson(e.toString()))
      .toList();
}

String? sendMessageDtoRoleNullableToJson(
  enums.SendMessageDtoRole? sendMessageDtoRole,
) {
  return sendMessageDtoRole?.value;
}

String? sendMessageDtoRoleToJson(enums.SendMessageDtoRole sendMessageDtoRole) {
  return sendMessageDtoRole.value;
}

enums.SendMessageDtoRole sendMessageDtoRoleFromJson(
  Object? sendMessageDtoRole, [
  enums.SendMessageDtoRole? defaultValue,
]) {
  return enums.SendMessageDtoRole.values.firstWhereOrNull(
        (e) =>
            e.value.toString().toLowerCase() ==
            sendMessageDtoRole?.toString().toLowerCase(),
      ) ??
      defaultValue ??
      enums.SendMessageDtoRole.swaggerGeneratedUnknown;
}

enums.SendMessageDtoRole? sendMessageDtoRoleNullableFromJson(
  Object? sendMessageDtoRole, [
  enums.SendMessageDtoRole? defaultValue,
]) {
  if (sendMessageDtoRole == null) {
    return null;
  }
  return enums.SendMessageDtoRole.values.firstWhereOrNull(
        (e) =>
            e.value.toString().toLowerCase() ==
            sendMessageDtoRole.toString().toLowerCase(),
      ) ??
      defaultValue;
}

String sendMessageDtoRoleExplodedListToJson(
  List<enums.SendMessageDtoRole>? sendMessageDtoRole,
) {
  return sendMessageDtoRole?.map((e) => e.value!).join(',') ?? '';
}

List<String> sendMessageDtoRoleListToJson(
  List<enums.SendMessageDtoRole>? sendMessageDtoRole,
) {
  if (sendMessageDtoRole == null) {
    return [];
  }

  return sendMessageDtoRole.map((e) => e.value!).toList();
}

List<enums.SendMessageDtoRole> sendMessageDtoRoleListFromJson(
  List? sendMessageDtoRole, [
  List<enums.SendMessageDtoRole>? defaultValue,
]) {
  if (sendMessageDtoRole == null) {
    return defaultValue ?? [];
  }

  return sendMessageDtoRole
      .map((e) => sendMessageDtoRoleFromJson(e.toString()))
      .toList();
}

List<enums.SendMessageDtoRole>? sendMessageDtoRoleNullableListFromJson(
  List? sendMessageDtoRole, [
  List<enums.SendMessageDtoRole>? defaultValue,
]) {
  if (sendMessageDtoRole == null) {
    return defaultValue;
  }

  return sendMessageDtoRole
      .map((e) => sendMessageDtoRoleFromJson(e.toString()))
      .toList();
}

String? createLedgerDtoTypeNullableToJson(
  enums.CreateLedgerDtoType? createLedgerDtoType,
) {
  return createLedgerDtoType?.value;
}

String? createLedgerDtoTypeToJson(
  enums.CreateLedgerDtoType createLedgerDtoType,
) {
  return createLedgerDtoType.value;
}

enums.CreateLedgerDtoType createLedgerDtoTypeFromJson(
  Object? createLedgerDtoType, [
  enums.CreateLedgerDtoType? defaultValue,
]) {
  return enums.CreateLedgerDtoType.values.firstWhereOrNull(
        (e) =>
            e.value.toString().toLowerCase() ==
            createLedgerDtoType?.toString().toLowerCase(),
      ) ??
      defaultValue ??
      enums.CreateLedgerDtoType.swaggerGeneratedUnknown;
}

enums.CreateLedgerDtoType? createLedgerDtoTypeNullableFromJson(
  Object? createLedgerDtoType, [
  enums.CreateLedgerDtoType? defaultValue,
]) {
  if (createLedgerDtoType == null) {
    return null;
  }
  return enums.CreateLedgerDtoType.values.firstWhereOrNull(
        (e) =>
            e.value.toString().toLowerCase() ==
            createLedgerDtoType.toString().toLowerCase(),
      ) ??
      defaultValue;
}

String createLedgerDtoTypeExplodedListToJson(
  List<enums.CreateLedgerDtoType>? createLedgerDtoType,
) {
  return createLedgerDtoType?.map((e) => e.value!).join(',') ?? '';
}

List<String> createLedgerDtoTypeListToJson(
  List<enums.CreateLedgerDtoType>? createLedgerDtoType,
) {
  if (createLedgerDtoType == null) {
    return [];
  }

  return createLedgerDtoType.map((e) => e.value!).toList();
}

List<enums.CreateLedgerDtoType> createLedgerDtoTypeListFromJson(
  List? createLedgerDtoType, [
  List<enums.CreateLedgerDtoType>? defaultValue,
]) {
  if (createLedgerDtoType == null) {
    return defaultValue ?? [];
  }

  return createLedgerDtoType
      .map((e) => createLedgerDtoTypeFromJson(e.toString()))
      .toList();
}

List<enums.CreateLedgerDtoType>? createLedgerDtoTypeNullableListFromJson(
  List? createLedgerDtoType, [
  List<enums.CreateLedgerDtoType>? defaultValue,
]) {
  if (createLedgerDtoType == null) {
    return defaultValue;
  }

  return createLedgerDtoType
      .map((e) => createLedgerDtoTypeFromJson(e.toString()))
      .toList();
}

// ignore: unused_element
String? _dateToJson(DateTime? date) {
  if (date == null) {
    return null;
  }

  final year = date.year.toString();
  final month = date.month < 10 ? '0${date.month}' : date.month.toString();
  final day = date.day < 10 ? '0${date.day}' : date.day.toString();

  return '$year-$month-$day';
}

class Wrapped<T> {
  final T value;
  const Wrapped.value(this.value);
}
